【问题标题】:Error starting a sails app with pm2使用 pm2 启动 Sails 应用程序时出错
【发布时间】:2014-07-14 11:57:56
【问题描述】:

我正在尝试使用 pm2 启动一个 Sails 应用程序,但出现以下错误:

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)

风帆版:0.10.0-rc7
pm2版本:0.8.6

另外,我不知道如何设置环境和端口。我试过--node-args="--prod",但没有效果。

我一直在尝试使用模块并且工作正常。

有人知道我该如何解决这个问题吗?
谢谢

编辑
显然是node.js版本的问题。
我做了一些测试,并在 pm2 存储库中报告了问题:https://github.com/Unitech/pm2/issues/491
有消息我会在这里更新。

【问题讨论】:

  • --node-args 用于节点 V8 参数,而不用于您的脚本。

标签: node.js deployment sails.js pm2


【解决方案1】:

--node-args 用于节点 V8 参数,而不用于您的脚本。

如果你想将 CLI 参数传递给你的 NodeJS 脚本,你必须这样做

$ pm2 start app.js -- -prod

-- 之后的每个参数都将传递给您的脚本。

【讨论】:

    【解决方案2】:

    不确定addAsyncListener 错误,但环境变量应该可以正常工作。我刚刚通过测试证实了这一点:

    $ NODE_ENV=production pm2 start app.js

    在日志中:

    [app-1 (out) 2014-05-25T15:27:04] 在生产环境中

    【讨论】:

    • 当然,很高兴它成功了!抱歉,我对sails.js 的熟悉程度不足以理解第一个问题是什么。希望你能解决这个问题
    【解决方案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

    【讨论】:

      猜你喜欢
      • 2018-12-20
      • 2015-05-18
      • 2021-07-04
      • 2016-10-11
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      相关资源
      最近更新 更多