Edited at

node-supervisor で express アプリを起動すると "Starting child process with 'node ./app.js' Program node ./app.js exited with code 0" が出る

More than 3 years have passed since last update.


概要

express-generator で作成した Express プロジェクトを node-supervisor 経由で起動しようとした場合に


console

Starting child process with 'node ./app.js'

Program node ./app.js exited with code 0

Starting child process with 'node ./app.js'
Program node ./app.js exited with code 0

Starting child process with 'node ./app.js'
Program node ./app.js exited with code 0

...


と出てしまう場合の対処方法です


結論から言うと

以下コマンドラインで解決します


console

$ node_modules/.bin/supervisor ./bin/www



面倒くさいのでもうちょっとなんとかしたい

package.json を以下のようにします


package.json

{

"name": "nodejs-express-app",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "NODE_ENV=production node ./app.js",
"dev": "NODE_ENV=development supervisor ./bin/www",
"debug": "NODE_ENV=development node-debug ./app.js"
},
"dependencies": {
"body-parser": "~1.12.0",
"cookie-parser": "~1.3.4",
"debug": "~2.1.1",
"express": "~4.12.2",
"jade": "~1.9.2",
"morgan": "~1.5.1",
"serve-favicon": "~2.2.0",
"supervisor": "*",
"node-inspector": "*"
}
}

そして起動時には以下のようなコマンドラインを発行します


console

$ npm run-script dev


console の最後に Watching directory '/Users/yourname/Workspace/nodejs-express-app' for changes. と表示されていれば、ファイルの変更を監視できている状態です。


参考文献

文献によってまちまちですが、supervisor でアプリを起動する際に


console

$ supervisor app

$ ./node_modules/.bin/supervisor app.js

のように app.js を指定してしまうのが良くないっぽいです。

Supervisor node .js “Program node app exited with code 0” error

http://stackoverflow.com/questions/24288806/supervisor-node-js-program-node-app-exited-with-code-0-error