2012-10-15 15 views
5

Esecuzione git push heroku master innesca sempre un passo che richiede:Skip "Installazione di dipendenze con NPM" step quando si spinge un app Node.js a Heroku

Installazione dipendenze con NPM

questo passo carichi e reinstalla tutte le dipendenze ancora anche se esiste già. Questo richiede molto tempo e voglio saltare questo passaggio a volte quando dispiego che so che le dipendenze sono le stesse.

C'è qualche comando o opzioni che lo fanno?

+2

Sfortunatamente, se si dà un'occhiata al [Heroku buildpack per node.js] (https://github.com/heroku/heroku-buildpack-nodejs/blob/master/bin/compile#L171), non esiste 's sembra saltare l'opzione 'npm install'. Esegue sempre 'npm install --production' seguito da' npm rebuild'. È possibile, tuttavia, creare il [proprio buildpack su heroku] (https://devcenter.heroku.com/articles/buildpacks) che specifica un comportamento diverso per 'npm install'. – smithclay

risposta

0

tenta di rimuovere

node_modules

ad esempio da voi .gitignore

1

Il suo passato molto tempo da quando lei ha chiesto questa domanda, ora i buildpack cache Heroku node_modules, così i tempi di installazione saranno molto più veloci.

Se tuttavia si desidera bloccare ancora npm install, ecco una soluzione.

A partire da quando scrivo questo, il pacchetto predefinito di Heroku non consente di saltare completamente l'installazione di npm. Si può vedere nel file dependencies.sh, questa linea sarà sempre eseguito:

npm install --unsafe-perm --userconfig $build_dir/.npmrc 2>&1 

Tuttavia, se si crea un file chiamato .npmrc nella cartella del progetto con il seguente contenuto:

dry-run 

Ciò causerà NPM installa per non modificare la tua directory esistente node_modules.

Si noti che questo cambiamento si applicherà anche al comando npm prune che Heroku corre, ma NON si applicheranno al comando npm rebuild (che è probabilmente bene).

Problemi correlati