2012-04-04 20 views
11

Ho un progetto Node che sta usando Bundler e Guard per gestire i miei passi pre-compilazione. Ciò significa che ho un Gemfile nella radice del mio progetto insieme al file package.json.Heroku rileva erroneamente la mia app Node come app Ruby

Il mio problema è che Heroku crede che il mio progetto sia un'app Ruby, solo perché esiste il Gemfile. E si lamenta che non ho impegnato il Gemfile.lock, che non voglio commettere.

-----> 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 

C'è un modo per dire a Heroku che l'app è un'app Node e non un'app Ruby?

+3

penso che si dovrebbe chiedere il supporto Heroku. – Reactormonk

+0

Suppongo, avrei dovuto farlo direttamente. Pensavo di ottenere una risposta più veloce qui, però :) – andersjanmyr

risposta

3

Sembra che ci sia un nuovo modo di fare questo come BUILDPACK_URL ormai deprecato, ha spiegato here, ma essenzialmente il comando è:

$ heroku buildpacks:set heroku/nodejs

È inoltre possibile specificare un buildpack durante la creazione di app:

$ heroku create myapp --buildpack heroku/nodejs

33

La soluzione a questo, con un grande aiuto da parte di Heroku Support è: utilizzare un pacchetto di build!

sovrascrivere le buildpacks predefinite Heroku specificando un buildpack personalizzato nella BUILDPACK_URL config var

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

È inoltre possibile specificare un buildpack durante la creazione di app

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

semplice quando si sa che. Ancora un po 'di documentazione può essere trovata at Heroku Dev Center

+0

Vorrei poterlo più su questo ... Grazie mille. – brbcoding

+0

grazie mille! Stavo iniziando a strapparmi i capelli ... – smertrios

+0

Al link Heroku Dev Center che andersjanmyr ha notato, hanno i buildpack in un certo ordine in una tabella, e dicono: "Per impostazione predefinita, questi buildpack verranno cercati in questo ordine fino a quando viene rilevata una corrispondenza e utilizzata per compilare la tua app. " – rakslice

Problemi correlati