如何使用 VS Code 调试 npm 本身(不是我的代码)?
How to debug npm itself (not my code) using VS Code?
npm
在 npm
的代码中崩溃,而不是我的。我想使用 VSCode IDE 调试器调试到 npm
进程,这样我就可以检查调用堆栈中的变量以找出问题所在。
调试 npm
本身的正确 launch.json
配置是什么?
我浪费了半个小时试图解决这个问题,所以在这里分享答案以帮助其他人。
诀窍(至少在我的 Mac 上)是 运行 npm-cli.js
而不是 运行 宁 npm
可执行文件。
这是我用来调试 npm outdated -g
的 launch.json
配置。要调试其他 npm 命令,只需更改下面的 args
。
{
"type": "node",
"request": "launch",
"name": "Debug NPM Outdated",
"cwd": "/usr/local/lib/node_modules/npm/bin/",
"args": [
"npm-cli.js",
"outdated",
"-g",
],
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true
},
我还没有测试过他是否可以调试 npm
的 运行 的其他代码,但如果这对调试 webpack 插件有效,那就太棒了!
顺便说一句,我试图捕获的特定 npm
错误已在 npm@6.9.1
中修复,应该会很快发布。参见 https://github.com/npm/cli/pull/173。
npm
在 npm
的代码中崩溃,而不是我的。我想使用 VSCode IDE 调试器调试到 npm
进程,这样我就可以检查调用堆栈中的变量以找出问题所在。
调试 npm
本身的正确 launch.json
配置是什么?
我浪费了半个小时试图解决这个问题,所以在这里分享答案以帮助其他人。
诀窍(至少在我的 Mac 上)是 运行 npm-cli.js
而不是 运行 宁 npm
可执行文件。
这是我用来调试 npm outdated -g
的 launch.json
配置。要调试其他 npm 命令,只需更改下面的 args
。
{
"type": "node",
"request": "launch",
"name": "Debug NPM Outdated",
"cwd": "/usr/local/lib/node_modules/npm/bin/",
"args": [
"npm-cli.js",
"outdated",
"-g",
],
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true
},
我还没有测试过他是否可以调试 npm
的 运行 的其他代码,但如果这对调试 webpack 插件有效,那就太棒了!
顺便说一句,我试图捕获的特定 npm
错误已在 npm@6.9.1
中修复,应该会很快发布。参见 https://github.com/npm/cli/pull/173。