npm - VS Code 终端无法使用 nvm 中的 npm 版本

标签 npm terminal visual-studio-code nvm

我在终端上使用 nvm 并成功安装了节点 10.2.1,它还安装了 npm 6.1.0。但是,当我转到 VS Code 编辑器时,它会在集成终端中向我发出以下警告:

npm WARN npm npm does not support Node.js v10.2.1
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4,6, 7, 8, 9.

事实证明,它实际上使用的是 npm 5.5.1 (npm -v)。

我检查了一下这是怎么回事,并尝试进一步挖掘并最终在集成终端和 Mac 的 CLI 上使用了:which npm

Mac 的终端显示: /Users/Aiz/.nvm/versions/node/v10.2.1/bin/npm

VS Code 的终端显示: /usr/local/bin/npm。这很有趣,因为如果您在此终端中执行 which node 操作,则会生成相应的 /Users/Aiz/.nvm/versions/node/v10.2.1/bin/node.

我不确定如何让我的 VS Code 终端通过 nvm 指向适当的 npm 安装。不确定它是否有帮助,但我检查了 npm get prefixnpm -g bin 以找到 /Users/Aiz/.nvm/versions/node/v10。 2.1 。我发现的唯一区别是每个终端使用 npm 的位置。

最佳答案

我最终在 GitHub 上查看了 VS Code 问题,发现了一些与 NVM 和节点问题相关的内容。它解决了我的问题,因为根本原因是相同的。

本质上发生的事情是,我在使用 NVM 之前删除了节点的全局安装,但没有删除 npm 的全局安装。这导致 VS Code 的终端(而不是 Mac 的终端)发生冲突。为了解决这个问题,您基本上必须找到 which npm 的符号链接(symbolic link),并递归地删除关联的 node_modules 和 npm。

这是您需要的链接:https://github.com/Microsoft/vscode-docs/blob/master/docs/editor/integrated-terminal.md#why-is-nvm-complaining-about-a-prefix-option-when-the-integrated-terminal-is-launched .

之后不要忘记重新启动编辑器。

关于npm - VS Code 终端无法使用 nvm 中的 npm 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50583954/

相关文章:

keyboard-shortcuts - VS Code 中是否有 'Open Folder...' 键盘快捷键?

javascript - 如何让 cordova 使用 yarn js 而不是 npm 来添加插件

node.js - npm 在安装不是我指定的模块时出现错误

javascript - 如何从本地文件夹安装 npm 模块?

c++ - Qt下opencv崩溃无报错

c - VS 代码片段未显示在 ctrl+space 上(但用户定义显示)

node.js - 在 Windows 7 中向 meteor 应用程序添加包时出现“node-gyp rebuild”安装错误

sqlite - 有什么办法可以让 SQLite 输出彩色吗?

c - 在 C 中获取用户的连续输入

windows - PHP7.1 + XDebug + WAMP + Visual Studio Code 问题