アプリケーションの実行者
pm2 start app.js
または
pm2 start config.json
Node_inspectorを使用してローカルでアプリケーションをデバッグしたい。 debug
引数を追加しました
pm2 start --node-args="--debug=7000" app.js
正常に動作しますが、config.json
スクリプトの代わりにapp.js
デバッグに関する引数を渡す方法がわかりません。次の設定が機能しない
{
"apps": [
{
"name": "myName",
"script": "app.js",
"args": "['--debug=7000']"
............
}
]
}
Pm2で実行され、configを使用するアプリケーションをデバッグするにはどうすればよいですか?
もうすぐそこにいるので、node_args
の代わりにargs
:
args
はスクリプトの引数ですnode_args
は、実行可能ノードに渡される引数です
{
"name": "myName",
"script": "app.js",
"node_args": ["--debug=7000"]
}
この後、誰かがまだデバッグ設定に問題がある場合、場合によっては、デバッグ設定を有効にするためにクラスターモードを無効にする必要があります。
また、すべての引数を単一の文字列として渡す場合、node_args値に角括弧が必要ないことに注意してください。
[pm2バージョン3.2.2]
PM2にVscodeを添付する場合、次のようになります。
Ecosystem.config.jsであるエコシステムファイルで、appsの下に次の行を追加します。
_node_args : ["--inspect"]
_
これを追加すると、スクリプトの呼び出し中に2つのノード引数が自動的に設定されます。それらは_--inspect
_、_--inspect-port=9232
_です。
それらはconsole.log(process.process.execArgv)
で見ることができます
また、インスタンスの数が1より大きい場合、上記の引数は、このpm2の下にある他のノードインスタンスごとにこのポート番号を増分し続けます。
たとえば、2番目のノードの場合、pm2は_--inspect
_、_--inspect-port=9233
_を渡します。
Inspect-portを明示的に値に設定した場合、次のような引数が表示されます_--inspect
_、_--inspect-port=9200
_、_--inspect-port=9230
_
そして、それはあなたが望んでいたポートを使用していないようです。しかし、特定のポートを使用しない方がpm2の性質を考えると良いと思います。
お役に立てれば。
それを行う別の方法は
env: {
NODE_OPTIONS: '--inspect'
}
ecosystem.config.jsファイルで。