Heroku'da node.js için temel başlangıç talimatlarını burada izledim:
https://devcenter.heroku.com/categories/nodejs
Bu talimatlar bir .gitignore node_modules oluşturmanızı söylemez ve bu nedenle node_modules'ün git'e işaretlenmesi gerektiğini gösterir. Git'e node_modules eklediğimde, başlangıç uygulamam doğru şekilde çalıştı.
Ben daha gelişmiş bir örnek takip zaman:
https://devcenter.heroku.com/articles/realtime-polyglot-app-node-ruby-mongodb-socketio https://github.com/mongolab/tractorpush-server (kaynak)
Bana .gitignore'a node_modules eklemem talimatı verdi. Böylece node_modules'ü git'ten kaldırdım, .gitignore'a ekledim, sonra yeniden konuşlandırdım. Bu sefer konuşlandırılan şu şekilde başarısız oldu:
-----> 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
"Heroku ps" çalıştırmak kazayı doğrular. Tamam, sorun değil, bu yüzden değişikliği geri aldım, git deposuna node_module'u geri ekledim ve .gitignore'dan kaldırdım. Ancak, geri döndükten sonra bile, dağıtımda hala aynı hata iletisini alıyorum, ancak şimdi uygulama tekrar düzgün çalışıyor. "Heroku ps" çalıştırmak uygulamanın çalıştığını söylüyor.
Benim sorum, bunu yapmanın doğru yolu nedir? Node_modules dahil edilsin mi? Geri döndüğümde neden hala hata mesajı alıyorum? Benim tahminim git deposu Heroku tarafında kötü durumda mı?
node_modules
. Heroku uygulamalarına giriş yapmayın.