Saya mengikuti instruksi dasar untuk memulai node.js di Heroku di sini:
https://devcenter.heroku.com/categories/nodejs
Instruksi ini tidak memberitahu Anda untuk membuat .gitignore node_modules, dan oleh karena itu menyiratkan bahwa node_modules harus diperiksa untuk git. Ketika saya memasukkan node_modules di git, aplikasi persiapan saya berjalan dengan benar.
Ketika saya mengikuti contoh yang lebih maju di:
https://devcenter.heroku.com/articles/realtime-polyglot-app-node-ruby-mongodb-socketio https://github.com/mongolab/tractorpush-server (sumber)
Itu menginstruksikan saya untuk menambahkan node_modules ke .gitignore. Jadi saya menghapus node_modules dari git, menambahkannya ke .gitignore, kemudian digunakan kembali. Kali ini yang digunakan gagal seperti:
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.8.2
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
Error: npm doesn't work with node v0.8.2
Required: node@0.4 || 0.5 || 0.6
at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
at Module._compile (module.js:449:26)
Error: npm doesn't work with node v0.8.2
Required: node@0.4 || 0.5 || 0.6
at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
at Module._compile (module.js:449:26)
Dependencies installed
-----> Discovering process types
Procfile declares types -> mongod, redis, web
-----> Compiled slug size is 5.0MB
-----> Launching... done, v9
Menjalankan "heroku ps" mengkonfirmasi kerusakan itu. Ok, tidak masalah, jadi saya memutar kembali perubahan, menambahkan node_module kembali ke repositori git dan menghapusnya dari .gitignore. Namun, bahkan setelah kembali, saya masih mendapatkan pesan kesalahan yang sama pada penerapan tetapi sekarang aplikasi berjalan dengan benar lagi. Menjalankan "heroku ps" memberi tahu saya bahwa aplikasi sedang berjalan.
Jadi pertanyaan saya adalah apa cara yang benar untuk melakukan ini? Sertakan node_modules atau tidak? Dan mengapa saya masih mendapatkan pesan kesalahan saat saya mengembalikan? Tebakan saya adalah repositori git dalam kondisi buruk di sisi Heroku?
node_modules
in ke aplikasi Heroku.