nvm use 不切换节点版本

nvm use does not switch node versions

在 Windows 10 机器上并使用 nvm4w 我试过:

来自上图:

我做错了什么?

您的问题可以通过使用管理员权限重新安装 nvm 版本或重命名文件夹 C:\Program Files\nodejs

来解决

您可以在此处找到更多信息:https://github.com/coreybutler/nvm-windows/issues/67

1) 从 link 安装 NVM:https://github.com/coreybutler/nvm-windows/releases.

2) 从"C:\Users\YOUR_USERNAME\AppData\Roaming\nvm"复制settings.txt。至 "C:\Users\ YOUR_USERNAME" 3) 重新启动系统以使更改生效。 4)打开控制台并输入以下命令: nvm列表 5) 安装 6.9.3 版本 运行 以下命令: nvm 安装 6.9.3 6)安装完成后会在nvm中添加node版本。检查相同类型的命令: nvm列表 7) 要切换命令版本,请在命令下方键入命令: nvm 使用 6.9.3 要验证节点版本开关,请键入命令“node –v” 8)它会显示正在使用的节点版本。

更多详情请查看下方link: https://www.tutespace.com/2018/11/nvm-installation-on-windows.html

如果您仍然遇到同样的问题,请告诉我们。

我必须删除位于 C:\Program Files\nodejs:

的文件夹

然后 运行 nvm use {version} 再次用正确的节点版本重新填充此文件夹。

我怀疑在某些情况下 nvm 出于某种原因无法删除此文件夹。

所以我找到了解决方法。

我将 C:\Program Files\nodejs 重命名为 C:\Program Files\nodejsx

然后 运行 nvm use versionNumber 工作正常。

似乎 nvm 无法将其更改为符号链接并失败 无提示

nvm 基于 symlinks 的基本思想工作。当用户尝试点击命令 nvm install <node_version> 时,输入的节点版本正在安装,即使您已将 C:\Program Files\nodejs 更改为 C:\Program Files\nodejsx

如果 nvm 无法创建新文件夹 C:\Program Files\nodejs 它将自动失败并且不会通知您。

您必须手动检查路径 C:\Program Files\nodejs 是否存在,如果存在,则删除文件夹并更改环境变量中的节点路径。这将帮助您确定 npm 命令的版本。

我遇到了同样的问题。

我的解决方案是通过 chocolatey(我安装它的方式)卸载了 nodejs,然后 nvm 再次工作。

检查 C:/Program Files 中的 nodejs 文件夹后,我注意到 nvm 可能通过在存储不同版本的 nodejs 的 nvm 文件夹中创建 link/shortcut 来工作。这就是 "Path" 和一切运作的方式。

希望对您有所帮助。

我也遇到了同样的问题

我的机器上安装了节点版本 14.15.1,必须使用 12.16.1

我正在使用 Windows 10.

通过 nvm 安装 12.16.1 后,它在 nvm list 中仅显示此版本,未显示当前使用的版本。

即使在 node use 12.16.1 之后 node -v 仍然显示 14.15.1

解决此问题的步骤:

  • 从控制面板卸载 Nodejs。
  • 安装 Nodejs 12.16.1 使用nvm install 12.16.1
  • 使用nvm install 14.15.1(或卸载的版本)
  • 安装 Nodejs 14.15.1
  • Switch version using nvm use 12.16.1 (相应地更改版本号)

结果:

C:\>nvm list

    14.15.1
  * 12.16.1 (Currently using 64-bit executable)
    12.3.1

C:\>node -v
v12.16.1

这恰好是迄今为止的问题,删除 nodejs 文件夹不起作用。

只需 运行 使用 cmd as administrator 进行 nvm 安装。

因此,即使您在没有管理员权限的情况下从 cmd 下载了 nodejs,请将其卸载并以管理员身份使用 cmd 重新安装。

在尝试了 github 和 Whosebug 的几乎所有解决方案后,这对我有用。

按照这一步

1.delete 路径中的节点和 npm

寻找路径

which node

输出

/c/Users/balaji/AppData/Roaming/npm/node

which npm 

输出

/c/program files/node.js

2.To 列出版本

nvm list

3.set节点

nvm use version

了解远程版本

nvm  list available

了解本地版本

nvm list
以上

None 对我的情况有所帮助。 我可以看到符号链接已创建并正确,但 NVM4W 仍然不会“使用”正确的版本。 我用 NVM 安装的节点版本与我的 Windows.

版本不兼容

当您 运行“nvm ls”或“nvm current”时,它会在命令行中调用 运行s“node -v”的 GetCurrentVersion()。如果该输出不是当前版本,例如警告您正在 运行 一个不兼容的 OS,它将无法指示当前选择的版本。它以一种不明显的方式这样做,为什么“nvm use x”不起作用。

您可以绕过节点 OS 使用环境变量检查(据我所知,节点版本 >=14): How to set the NODE_SKIP_PLATFORM_CHECK environment variable to 1 which skips the version check 如果节点未按预期运行,您可能需要更新 Windows 或使用早期版本的节点。

有了这个设置,“nvm use”按预期运行。

我尝试使用 nvm 切换 Node 版本,但它没有反应,所以我删除了 c:/program 中的文件夹 files/nodejs
删除文件夹后,按照相同的步骤使用 nvm 切换 npm 版本,它会切换节点版本。

对我来说,问题(在 Linux 上)是我用 Homebrew 安装了 node,它阻止了 nvm 的使用。在 nvm 可以设置正确的符号链接之前,我必须

brew uninstall node

我是通过运行

最先发现这种情况的
which node

这告诉我节点正在从

的 Homebrew 进行符号链接
/home/linuxbrew/.linuxbrew/bin/node

而不是像我们想要的那样,从 nvm at

/home/john/.nvm/versions...

“哪个节点”报告它正在使用来自 nvm 的节点后,事情就为我解决了。

我今天早上遇到了这个问题。而且我认为问题的原因是 nvm 的设置和 env 配置之间存在差异。我用下面的方法解决了。

  1. 打开nvm安装路径

  2. 打开 setting.txt 文件并检查路径值。

  3. 打开Windows中的环境变量控制面板。

  4. 检查系统路径中的NVM_SYMLINK和setting.txt

    中的path是否相同
  5. 将两个配置更改为相同的值。