VS Code 集成终端抛出“找不到模块”和“nvm 与 npm 配置“前缀”选项不兼容的问题

jef*_*nst 8 node.js npm visual-studio-code

看起来这是一个相当普遍的问题,但我已经尝试了我能找到的所有方法,但似乎仍然无法解决它。如果我在 VS Code 之外加载我的终端,它可以正常工作,但集成终端在启动时会不断抛出:

internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module '"/Users/me/Library/Application'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at Module._preloadModules (internal/modules/cjs/loader.js:901:12)
    at preloadModules (internal/bootstrap/node.js:601:7)
    at startup (internal/bootstrap/node.js:273:9)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v10.16.3 --silent` to unset it.
Run Code Online (Sandbox Code Playgroud)

我完成了这里的步骤,其中解释了如何删除额外的 npm/npx 实例。奇怪的是现在在初始化脚本之前which npm打印,这使得它看起来已经被正确加载,但文件正在再次运行,这可能导致错误。/Users/me/.nvm/versions/node/v10.16.3/bin/npmnvmnvm.zshrc

看起来"错误消息 ( '"/Users/me/Library/Application')中的文件路径中有一个额外的内容,但我在nvm初始化脚本中没有看到任何类似的拼写错误,所以这似乎也是初始化脚本被调用两次的结果?

一些值得注意的别的是,node并且npm不能在集成终端找到,但他们的工作守则VS精细之外。

我还尝试了其他各种方法,例如在我的 VS Code 设置中进行设置:"terminal.integrated.shellArgs.osx": []手动和使用自制软件卸载和重新安装 node/nvm。任何帮助将不胜感激!

编辑:我尝试安装VS Code Insiders并复制我的设置和集成终端加载,没有任何问题。所以看起来这可能会在未来的版本中得到修复。我将在 VS Code 中提供更新后发布更新,以查看此问题是否消失。

ber*_*rgy 12

我遇到了这个问题,我只能通过在 VSCode 设置中禁用自动附加调试来解决我的问题。希望我将来可以重新启用此功能,因为您提到最新的内部版本没有问题。顺便说一下,我正在使用 Bash shell,但希望这也会对您有所帮助。

"debug.node.autoAttach": "disabled",
Run Code Online (Sandbox Code Playgroud)

  • 我检查了 Insiders 版本,尽管“autoAttach”处于打开状态,但集成终端仍在工作,因此它似乎在即将推出的版本中得到了修复。 (3认同)
  • 就是这样!我将设置设置为“关闭”,这显然与此上下文中的“禁用”含义不同。我花了半天时间才意识到 A) npm 仅在 VSC 中失败,B) VSC 更新后它就开始失败。感谢您的修复! (2认同)