如何将调试参数从pm2传递给使用Coffeescript解释器的节点进程?

时间:2015-12-08 22:33:03

标签: coffeescript pm2

以下命令的行为不符合预期。 debug参数未到达Node进程:

pm2 startOrRestart server.json --node-args="--debug=7001"

server.json文件:

{
  "apps" : [
    {
      "name"             : "web",
      "cwd"              : "/home/app/",
      "instances"        : 1,
      "cron_restart"     : "*/30 * * * *",
      "script"           : "web/server.coffee",
      "exec_interpreter" : "coffee",
      "error_file"       : "logs/web-err.log",
      "out_file"         : "logs/web-out.log"
    }
  ]
}

但是pm2启动的节点进程没有调试参数。

22:10   0:05 node /home/app/web/server.coffee

我怀疑这与我使用Coffeescript解释器这一事实有关。例如,如果我直接运行Coffee命令(绕过pm2),我可以按预期工作,这会按预期启动调试模式中的节点进程:

coffee --nodejs --debug=5000 /home/app/web/server.coffee

如何正确地将调试参数从pm2传递到coffee到节点,以便它一直到节点进程?

1 个答案:

答案 0 :(得分:0)

问题可以通过添加' - nodejs'来解决。也是--node-args选项值,比如

pm2 startOrRestart server.json --node-args="--nodejs --debug=7001"

如果口译员被指定为'咖啡'那么咖啡二进制(或咖啡脚本npm包)将在内部使用。所以我们必须相应地给出--node-args选项值。