1

ノードとエクスプレスの操作を学んでいます。エクスプレスジェネレーターを使用して基本的なプロジェクトをセットアップし、それを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でどのように機能するかを誰かが説明できますか.

どうも

4

1 に答える 1

0

Express ジェネレーターは、 JavaScript ファイルnode ./bin/wwwを実行して Express アプリを起動するコマンドを実行する起動スクリプトを作成します。.bin/www問題は、コマンド labelled がある/ないことでしたがnodejs、呼び出されたコマンドがありますnode(これは node.js 実行可能ファイルを指します)。

nodeNodejs (node.js) は、多くの場合、コマンド プロンプトの場合など、単に省略して呼び出されます。

于 2015-12-27T19:06:29.080 に答える