nvm 使用不切换节点版本
Posted
技术标签:
【中文标题】nvm 使用不切换节点版本【英文标题】:nvm use does not switch node versions 【发布时间】:2018-04-11 14:00:49 【问题描述】:在 Windows 10 机器上并使用 nvm4w 我试过:
上图:
node --version
查看当前版本
nvm list
列出已安装的版本
nvm use 8.8.1
所以我们从 6 切换到 8
nvm on
启用它
node --version
重新检查节点版本
我做错了什么?
【问题讨论】:
【参考方案1】:我不得不删除位于C:\Program Files\nodejs
的文件夹:
然后再次运行nvm use version
以使用正确的节点版本重新填充此文件夹。
我怀疑在某些情况下,nvm 出于某种原因无法删除此文件夹。
【讨论】:
工作,谢谢!nvm alias default version
for linux【参考方案2】:
所以我找到了解决方法。
我将C:\Program Files\nodejs
重命名为C:\Program Files\nodejsx
然后运行nvm use versionNumber
工作正常。
似乎 nvm 无法将其更改为符号链接并且静默失败。
【讨论】:
【参考方案3】:nvm 基于symlinks
的基本思想工作。当用户尝试点击命令nvm install <node_version>
时,即使您已将C:\Program Files\nodejs
更改为C:\Program Files\nodejsx
,也会安装输入的节点版本。
如果 nvm 未能创建新文件夹 C:\Program Files\nodejs
,它将静默失败并且不会通知您。
您必须手动检查路径C:\Program Files\nodejs
是否存在,如果它退出则删除文件夹并更改环境变量中的节点路径。这将帮助您确定 npm 命令的版本。
【讨论】:
【参考方案4】:我也遇到了同样的问题。
我的机器上安装了节点版本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
安装 Nodejs 14.15.1 使用nvm install 14.15.1
(或卸载的版本)
切换版本使用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
【讨论】:
这个问题已经有好几年了,所以我已经进化了? - 如果你安装 nvm through chocolatey,所有的工作都是开箱即用的......自从我开始使用 Chocolatey,我没有任何问题什么都好,升级软件也很简单,有不想升级的软件可以pin,永远不会升级?【参考方案5】:您的问题可以通过以管理员权限重新安装 nvm 版本或仅通过重命名文件夹 C:\Program Files\nodejs 来解决
您可以在这里找到更多信息:https://github.com/coreybutler/nvm-windows/issues/67
【讨论】:
【参考方案6】:1) 通过链接安装 NVM:https://github.com/coreybutler/nvm-windows/releases。
2) 从“C:\Users\YOUR_USERNAME\AppData\Roaming\nvm”复制 settings.txt。到“C:\Users\YOUR_USERNAME” 3) 重新启动系统以反映更改。 4)打开控制台并输入以下命令: 非虚拟机列表 5) 要安装 6.9.3 版本,请运行以下命令: 非虚拟机安装 6.9.3 6)安装完成后会在nvm中添加node版本。要检查相同类型的命令: 非虚拟机列表 7) 在命令下面切换命令版本类型命令: 非虚拟机使用 6.9.3 要验证节点版本开关,请键入命令“node -v” 8) 它会显示正在使用的节点版本。
更多详情请查看以下链接: https://www.tutespace.com/2018/11/nvm-installation-on-windows.html
如果您仍然遇到同样的问题,请告诉我们。
【讨论】:
【参考方案7】:这恰好是迄今为止的问题,删除 nodejs 文件夹不起作用。
只需使用cmd as administrator
运行 nvm install。
因此,即使您从没有管理员权限的 cmd 下载了 nodejs,也请卸载它并以管理员身份使用 cmd 重新安装。
在尝试了 github 和 *** 的几乎所有解决方案后,这对我有用。
【讨论】:
【参考方案8】:我遇到了同样的问题。
我的解决方案是我通过 Chocolatey(我安装它的方式)卸载了 nodejs,然后 nvm 再次工作。
检查 C:/Program Files 中的 nodejs 文件夹后,我注意到 nvm 可能通过创建指向存储不同版本 nodejs 的 nvm 文件夹的链接/快捷方式来工作。这就是“路径”和一切运作的方式。
希望对你有所帮助。
【讨论】:
【参考方案9】:按照此步骤进行
1.删除路径中的节点和npm
寻找路径
which node
输出
/c/Users/balaji/AppData/Roaming/npm/node
which npm
输出
/c/程序文件/node.js
2.列出版本
nvm list
3.设置节点
nvm use version
了解远程版本
nvm list available
了解本地版本
nvm list
【讨论】:
【参考方案10】:以上都对我没有帮助。 我可以看到符号链接已创建并且正确,但 NVM4W 仍然不会“使用”正确的版本。 我使用 NVM 安装的节点版本与我的 Windows 版本不兼容。
当您运行“nvm ls”或“nvm current”时,它会调用 GetCurrentVersion(),后者在命令行中运行“node -v”。如果该输出不是当前版本,例如您正在运行不兼容的操作系统的警告,它将无法指示当前选择的版本。这样做的方式并不明显,为什么“nvm use x”不起作用。
您可以使用环境变量绕过节点操作系统检查(据我所知,节点版本 >=14): How to set the NODE_SKIP_PLATFORM_CHECK environment variable to 1 which skips the version check 尽管如果 node 无法按预期运行,您可能需要更新 Windows 或使用较早版本的 node。
使用该设置,“nvm 使用”按预期运行。
【讨论】:
以上是关于nvm 使用不切换节点版本的主要内容,如果未能解决你的问题,请参考以下文章