PS C:\Users\Administrator> nvm list
20.19.2
* 18.15.0 (Currently using 64-bit executable)
PS C:\Users\Administrator> nvm use 20
Now using node v20.19.2 (64-bit)
PS C:\Users\Administrator> nvm list
20.19.2
* 18.15.0 (Currently using 64-bit executable)
从您的输出看,虽然执行了 nvm use 20
,但系统仍在继续使用 Node.js v18.15.0。这是 nvm-windows 的常见问题,通常由权限或环境冲突引起。以下是完整的解决方案:
解决步骤:
-
以管理员身份运行 PowerShell:
- 关闭当前 PowerShell
- 右键点击 PowerShell 图标 → 以管理员身份运行
-
强制切换版本:
nvm use 20.19.2 --force
-
检查环境变量:
# 检查 PATH 中的 Node.js 路径 $env:Path -split ";" | Select-String -Pattern "node" # 检查是否有全局安装的 Node.js 干扰 where.exe node
- 如果输出包含
C:\Program Files\nodejs
之外的路径(如旧版安装路径),需手动删除这些路径
- 如果输出包含
-
清除冗余安装(关键步骤):
- 打开控制面板 → 卸载程序
- 卸载所有名称包含 "Node.js" 的程序(特别是 v18.15.0 的独立安装)
- 重启系统
-
重置符号链接:
# 删除现有链接 rmdir "C:\Program Files\nodejs" -Recurse -Force -ErrorAction SilentlyContinue # 重建链接 nvm use 20.19.2 --force
-
最终验证:
nvm list node -v # 应显示 v20.19.2 where.exe node # 应只显示 nvm 管理的路径
备用方案(若问题仍存在):
-
完全重装 nvm:
# 卸载 nvm nvm uninstall # 手动删除残留 rm $env:NVM_HOME -Recurse -Force # 下载最新 nvm-windows 安装包 # https://github.com/coreybutler/nvm-windows/releases # 重新安装后重试
-
临时解决方案(快速验证):
# 直接调用具体版本的 node & "$env:NVM_HOME\v20.19.2\node.exe" -v
技术说明:
当出现 Currently using 64-bit executable
但版本未切换时,通常是因为:
- 存在全局安装的 Node.js(通过安装包安装)
- 环境变量
PATH
中旧版路径优先于 nvm 路径 - 权限不足导致符号链接创建失败
提示:完成修复后,建议运行
nvm on
确保开机自启 nvm 管理功能。