以下命令的行为不符合预期。 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到节点,以便它一直到节点进程?
答案 0 :(得分:0)
问题可以通过添加' - nodejs'来解决。也是--node-args选项值,比如
pm2 startOrRestart server.json --node-args="--nodejs --debug=7001"
如果口译员被指定为'咖啡'那么咖啡二进制(或咖啡脚本npm包)将在内部使用。所以我们必须相应地给出--node-args选项值。