Должен ли я регистрировать модули узла _в git при создании приложения node.js на Heroku?

Я следовал основным инструкциям по началу работы с node.js на Heroku здесь :

https://devcenter.heroku.com/categories/nodejs

. Эти инструкции не говорят вам создавать модули узла.gitignore _и, следовательно, подразумевают, что модули узла _должны быть зарегистрированы в git. Когда я включаю модули node _в git, мое стартовое приложение работает правильно.

Когда я последовал более сложному примеру в:

https://devcenter.heroku.com/articles/realtime-polyglot-app-node-ruby-mongodb-socketio https://github.com/mongolab/tractorpush-server(источник)

Он поручил мне добавить модули node _в.gitignore. Поэтому я удалил модули node _из git, добавил их в.gitignore, а затем повторно -развернул. На этот раз развертывание потерпело неудачу вот так:

-----> 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. (/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. (/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. (/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. (/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» подтверждает сбой. Хорошо, нет проблем, поэтому я отменил изменение, добавил модуль node _обратно в репозиторий git и удалил его из.gitignore. Однако даже после возврата я все еще получаю то же сообщение об ошибке при развертывании, но теперь приложение снова работает правильно.Запуск «heroku ps» говорит мне, что приложение запущено.

Итак, мой вопрос: как правильно это сделать? Включить модули узла _или нет? И почему я все еще получаю сообщение об ошибке при откате? Я предполагаю, что репозиторий git находится в плохом состоянии на стороне Heroku?

362
задан alex 7 January 2016 в 23:31
поделиться