我正在尝试使用pm2启动风帆应用程序,但我收到以下错误:
pm2 start app.js --name myapp -i 2
pm2 logs
[myapp-1 (out) 2014-05-25T13:38:51] info: Sails <|
[myapp-1 (out) 2014-05-25T13:38:51] info: v0.10.0-rc7 |\
[myapp-1 (out) 2014-05-25T13:38:51] info: /|.\
[myapp-1 (out) 2014-05-25T13:38:51] info: / || \
[myapp-1 (out) 2014-05-25T13:38:51] info: ,' |' \
[myapp-1 (out) 2014-05-25T13:38:51] info: .-'.-==|/_--'
[myapp-1 (out) 2014-05-25T13:38:51]
[myapp-1 (err) 2014-05-25T13:38:51] debug: Environment : development
[myapp-1 (err) 2014-05-25T13:38:51] debug: Port : 1338
[myapp-1 (err) 2014-05-25T13:38:51] debug: --------------------------------------------------------
[myapp-1 (err) 2014-05-25T13:38:51] TypeError: Object #<Object> has no method 'addAsyncListener'
[myapp-1 (err) 2014-05-25T13:38:51] at Server._listen2 (net.js:1095:18)
[myapp-1 (err) 2014-05-25T13:38:51] at cb (net.js:1139:10)
[myapp-1 (err) 2014-05-25T13:38:51] at rr (cluster.js:552:5)
[myapp-1 (err) 2014-05-25T13:38:51] at Worker.<anonymous> (cluster.js:484:9)
[myapp-1 (err) 2014-05-25T13:38:51] at process.<anonymous> (cluster.js:611:8)
[myapp-1 (err) 2014-05-25T13:38:51] at process.EventEmitter.emit (events.js:123:20)
[myapp-1 (err) 2014-05-25T13:38:51] at handleMessage (child_process.js:318:10)
[myapp-1 (err) 2014-05-25T13:38:51] at Pipe.channel.onread (child_process.js:346:11)
Sails版本:0.10.0-rc7
pm2版本:0.8.6
另外,我不知道如何设置环境和端口。我试过--node-args="--prod"
但没有效果。
我已经尝试过使用模块并且工作正常。
有谁知道如何解决这个问题? 谢谢
修改
显然是node.js版本的问题
我做了一些测试,并在pm2存储库中报告了问题:https://github.com/Unitech/pm2/issues/491
我将在此处更新任何新闻。
答案 0 :(得分:5)
--node-args
用于节点V8参数,不适用于您的脚本。
如果要将CLI参数传递给NodeJS脚本,则必须执行
$ pm2 start app.js -- -prod
--
之后的每个参数都将传递给您的脚本。
答案 1 :(得分:3)
不确定addAsyncListener
错误,但环境变量应该正常工作。我刚通过测试证实了这一点:
$ NODE_ENV =生产pm2启动app.js
在日志中:
生产环境中的[app-1(out)2014-05-25T15:27:04]
答案 2 :(得分:3)
有谁知道如何解决这个问题?
像这样开始pm2:
pm2 start app.json
app.json是:
{
"apps": [{
"name": "app",
"script": "/full/path/to/app.js",
"env": {
"NODE_ENV": "production"
}
}]
}
风帆: v.0.11.0 ,pm2: v.0.12.7