首页 > 解决方案 > 如何使用 VS Code 调试 npm 本身(不是我的代码)?

问题描述

npmnpm在's 的代码中崩溃,而不是我的。我想npm使用 VSCode IDE 调试器对进程进行调试,这样我就可以检查调用堆栈中的变量以找出问题所在。

调试自身的正确launch.json配置是什么?npm

标签: npmvisual-studio-codevscode-debugger

解决方案


我浪费了半个小时试图弄清楚这一点,所以在这里分享答案以帮助其他人。

诀窍(至少在我的 Mac 上)是运行npm-cli.js而不是运行npm可执行文件。

这是launch.json我用来调试的配置npm outdated -g。要调试其他 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


推荐阅读