2012-04-04 8 views
11

Tengo un proyecto de nodo que utiliza Bundler y Guard para manejar mis pasos de precompilación. Esto significa que tengo un Gemfile en la raíz de mi proyecto junto con el archivo package.json.Heroku detecta erróneamente mi aplicación Node como una aplicación de Ruby

Mi problema es que Heroku cree que mi proyecto es una aplicación Ruby, solo porque existe el Gemfile. Y se queja de que no he cometido el Gemfile.lock, que no quiero comprometer.

-----> Heroku receiving push 
-----> Ruby app detected 
! 
!  Gemfile.lock is required. Please run "bundle install" locally 
!  and commit your Gemfile.lock. 
! 
!  Heroku push rejected, failed to compile Ruby app 

¿Hay alguna manera de decirle a Heroku que la aplicación es una aplicación Nodo y no una aplicación Ruby?

+3

Creo que debería pedir el apoyo heroku. – Reactormonk

+0

Supongo que debería haber hecho eso directamente. Aunque pensé que obtendría una respuesta más rápida aquí :) – andersjanmyr

Respuesta

3

Parece que hay una nueva manera de hacer esto como BUILDPACK_URL ahora está en desuso, explicó here, pero esencialmente el comando es:

$ heroku buildpacks:set heroku/nodejs

También puede especificar un buildpack durante la creación de aplicaciones:

$ heroku create myapp --buildpack heroku/nodejs

33

La solución a esto, con mucha ayuda de Heroku Support es: ¡use un paquete de compilación!

anular el buildpacks defecto heroku especificando un buildpack personalizado en el BUILDPACK_URL config var

$ heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-nodejs 

También puede especificar un buildpack durante la creación de aplicaciones

$ heroku create -s cedar --buildpack https://github.com/heroku/heroku-buildpack-nodejs 

simple cuando se sabe que. Algunos más documentación se puede encontrar at Heroku Dev Center

+0

Desearía poder votar esto más ... Muchas gracias. – brbcoding

+0

muchas gracias! Estaba empezando a tirarme del pelo ... – smertrios

+0

En el enlace Heroku Dev Center que andersjanmyr señaló, tienen los paquetes de construcción en cierto orden en una tabla, y dicen: "Por defecto, estos paquetes de construcción se buscarán en este orden hasta se detecta una coincidencia y se usa para compilar su aplicación ". – rakslice

Cuestiones relacionadas