Приложение Express 4 - узел./bin/www X nodejs ./bin/www

Я учусь работать с узлами и экспрессами, я использовал генератор экспрессов для настройки базового проекта и перенес его в heroku, но я получил эту ошибку в логах:

2015-12-27T16:29:01.478244+00:00 heroku[web.1]: Starting process with command `npm start`
2015-12-27T16:29:03.533736+00:00 app[web.1]: 
2015-12-27T16:29:03.522320+00:00 app[web.1]: 
2015-12-27T16:29:03.522335+00:00 app[web.1]: > application-name@0.0.1 start /app
2015-12-27T16:29:03.522337+00:00 app[web.1]: > nodejs ./bin/www
2015-12-27T16:29:03.522337+00:00 app[web.1]: 
2015-12-27T16:29:03.526805+00:00 app[web.1]: sh: 1: nodejs: not found
2015-12-27T16:29:03.537910+00:00 app[web.1]: npm ERR! Linux 3.13.0-71-generic
2015-12-27T16:29:03.538285+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2015-12-27T16:29:03.538482+00:00 app[web.1]: npm ERR! node v0.12.7
2015-12-27T16:29:03.540540+00:00 app[web.1]: npm ERR! npm  v2.11.3
2015-12-27T16:29:03.540543+00:00 app[web.1]: npm ERR! file sh
2015-12-27T16:29:03.540544+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2015-12-27T16:29:03.540544+00:00 app[web.1]: npm ERR! errno ENOENT
2015-12-27T16:29:03.540545+00:00 app[web.1]: npm ERR! syscall spawn
2015-12-27T16:29:03.540547+00:00 app[web.1]: npm ERR! spawn ENOENT
2015-12-27T16:29:03.540546+00:00 app[web.1]: npm ERR! application-name@0.0.1 start: `nodejs ./bin/www`
2015-12-27T16:29:03.540547+00:00 app[web.1]: npm ERR! 
2015-12-27T16:29:03.540548+00:00 app[web.1]: npm ERR! Failed at the application-name@0.0.1 start script 'nodejs ./bin/www'.
2015-12-27T16:29:03.540549+00:00 app[web.1]: npm ERR! This is most likely a problem with the application-name package,
2015-12-27T16:29:03.540549+00:00 app[web.1]: npm ERR! not with npm itself.
2015-12-27T16:29:03.540550+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2015-12-27T16:29:03.540551+00:00 app[web.1]: npm ERR!     nodejs ./bin/www
2015-12-27T16:29:03.540552+00:00 app[web.1]: npm ERR! You can get their info via:
2015-12-27T16:29:03.540714+00:00 app[web.1]: npm ERR!     npm owner ls application-name
2015-12-27T16:29:03.540922+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2015-12-27T16:29:03.543464+00:00 app[web.1]: 
2015-12-27T16:29:03.543727+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2015-12-27T16:29:03.543869+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2015-12-27T16:29:04.374697+00:00 heroku[web.1]: Process exited with status 1
2015-12-27T16:29:04.392014+00:00 heroku[web.1]: State changed from starting to crashed

Это начало работать, когда я изменил это

"scripts": {
    "start": "nodejs ./bin/www"
  },

к этому

"scripts": {
    "start": "node ./bin/www"
  },

но я не знаю почему, может кто-нибудь объяснить разницу между node и nodejs и как это работает с heroku.

Спасибо

1 ответ

Решение

Экспресс генератор создает скрипт запуска, который запускает команду node ./bin/www который запускает ваше приложение Express, запустив .bin/www Файл JavaScript. Проблема была в том, что нет / не было команды labled nodejs, но есть один называется node (который указывает на исполняемый файл node.js).

Nodejs (node.js) часто называют просто node для краткости, как правило, так для командных строк.

Другие вопросы по тегам