Mi piacerebbe avere Heroku compilare la mia app dopo averlo premuto in modo che non debba spingere la cartella di compilazione ogni volta che apporto una modifica. Tuttavia heroku installa solo le dipendenze da package.json e grunt (il mio strumento di compilazione) e tutti i suoi componenti sono in devDependencies. Mi piacerebbe tenerli li dove appartengono. Qual è la soluzione alternativa qui?Installa devDependencies su Heroku
risposta
Heroku installa di default solo le dipendenze di produzione, ignorando le dipendenze di sviluppo sotto devDependencies
.
Impostazione della variabile di produzione NPM al false
fare il trucco:
heroku config:set NPM_CONFIG_PRODUCTION=false
Maggiori informazioni sono disponibili presso la Heroku Node.js Support page.
Imposta il tuo NODE_ENV per lo sviluppo, che potrebbe rallentare la tua app. – unblevable
@unblevable Io non la penso così: '' ' -----> Node.js app rilevato -----> Creazione di ambiente di runtime NPM_CONFIG_LOGLEVEL = errore NPM_CONFIG_PRODUCTION = false NODE_ENV = produzione NODE_MODULES_CACHE = true '' ' – bithavoc
Ho fatto heroku config: set NPM_CONFIG_PRODUCTION = false e riavviato dyno e le dipendenze di sviluppo non verranno installate – Lev
KeepingNPM_CONFIG_PRODUCTION
true
, ho usato Heroku's script hooks:
"scripts": {
...
"heroku-prebuild": "export NPM_CONFIG_PRODUCTION=false; export NODE_ENV=; NPM_CONFIG_PRODUCTION=false NODE_ENV=development npm install --only=dev --dev",
"heroku-postbuild": "export NPM_CONFIG_PRODUCTION=true; export NODE_ENV=production;",
...
},
(finalmente) ha lavorato per me.
scripts": {
...
"heroku-prebuild": "npm install --only=dev"
}
Questo è stato abbastanza per me. Grazie a PixnBits per il suggerimento su heroku-prebuild. Inoltre, il mio problema era con Babele. Alla fine ho spostato babel-preset-es2015 e altri preset in dipendenze altrimenti Babel si è lamentato dei preset.
Aggiornamento: 8/11/2017 Ho avuto problemi con questo. Sembra che le cose siano cambiate (e npm è su 5.3 ora). Ma quello che vedo è che viene eseguito lo script di prebuild di heroku, e quindi viene eseguito lo script di post-installazione (ma stavo solo provando a installare -dev).
Quindi quello che ho fatto che funziona è quello di eseguire solo:
heroku config:set NPM_CONFIG_PRODUCTION=false
E proprio lasciarla impostata in quel modo. Mi piacerebbe una soluzione migliore.
- 1. Installa FFMPEG su Heroku
- 2. Installa freetds su Heroku
- 3. Npm Installa DevDependencies in una directory separata
- 4. node-qrcode installa su heroku
- 5. Come si installa filemagic (libmagic) in Heroku?
- 6. È possibile avere una cartella node_modules separata per devDependencies?
- 7. installa socket.io su ubuntu
- 8. Installa rabbitmqadmin su linux
- 9. Installa psycopg2 su Ubuntu
- 10. Installa sbt su ubuntu
- 11. Installa Socat su Mac
- 12. nginx installa su linux
- 13. Come installare solo "devDependencies" utilizzando npm
- 14. Installa nodejs 4 su redhat
- 15. Installa Yeoman su C9.io
- 16. Installa Docker su OpenVZ VPS
- 17. Installa pip su OS X
- 18. installa php70-gd su ubuntu
- 19. installa IIS8 su Windows 7?
- 20. Installa boost devel su archlinux
- 21. Abilita Mcrypt su PHP Installa
- 22. Installa JDT Eclipse su CDT
- 23. Installa Openpyxl su python2.5 su Windows
- 24. Installa webapp su homescreen su iPhone?
- 25. CSV su Heroku Cedar
- 26. accesso pg_largeobject su heroku
- 27. Scaling phoenix su heroku
- 28. Pub privato su heroku
- 29. WebSocket su Heroku ERR_CONNECTION_REFUSED
- 30. Redis su Heroku Sharding
Potresti usare un buildpack personalizzato come questo? https://github.com/gcpantazis/heroku-buildpack-php-gruntjs – catsby