如何将调试参数从 pm2 传递到使用 Coffeescript 解释器的节点进程?
How to pass the debug argument from pm2 to a node process that uses a Coffeescript interpreter?
以下命令未按预期运行。调试参数未到达节点进程:
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启动的节点进程没有debug参数。
22:10 0:05 node /home/app/web/server.coffee
我怀疑这与我使用的 Coffeescript 解释器有关。例如,如果我直接 运行 Coffee 命令(绕过 pm2),我可以使事情按预期工作,它按预期以调试模式启动节点进程:
coffee --nodejs --debug=5000 /home/app/web/server.coffee
如何正确地将 debug 参数从 pm2 传递到 coffee 到 node,以便它一直传递到 node 进程?
问题可以通过在 --node-args 选项值中添加 '--nodejs' 来解决,例如
pm2 startOrRestart server.json --node-args="--nodejs --debug=7001"
如果解释器指定为'coffee',那么将在内部使用 coffee 二进制文件(或 coffee-script npm 包)。所以我们必须相应地给 --node-args 选项值。
以下命令未按预期运行。调试参数未到达节点进程:
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启动的节点进程没有debug参数。
22:10 0:05 node /home/app/web/server.coffee
我怀疑这与我使用的 Coffeescript 解释器有关。例如,如果我直接 运行 Coffee 命令(绕过 pm2),我可以使事情按预期工作,它按预期以调试模式启动节点进程:
coffee --nodejs --debug=5000 /home/app/web/server.coffee
如何正确地将 debug 参数从 pm2 传递到 coffee 到 node,以便它一直传递到 node 进程?
问题可以通过在 --node-args 选项值中添加 '--nodejs' 来解决,例如
pm2 startOrRestart server.json --node-args="--nodejs --debug=7001"
如果解释器指定为'coffee',那么将在内部使用 coffee 二进制文件(或 coffee-script npm 包)。所以我们必须相应地给 --node-args 选项值。