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 的常见问题,通常由权限或环境冲突引起。以下是完整的解决方案:

解决步骤:

  1. 以管理员身份运行 PowerShell

    • 关闭当前 PowerShell
    • 右键点击 PowerShell 图标 → 以管理员身份运行
  2. 强制切换版本

    nvm use 20.19.2 --force
  3. 检查环境变量

    # 检查 PATH 中的 Node.js 路径
    $env:Path -split ";" | Select-String -Pattern "node"
    
    # 检查是否有全局安装的 Node.js 干扰
    where.exe node
    • 如果输出包含 C:\Program Files\nodejs 之外的路径(如旧版安装路径),需手动删除这些路径
  4. 清除冗余安装(关键步骤):

    • 打开控制面板 → 卸载程序
    • 卸载所有名称包含 "Node.js" 的程序(特别是 v18.15.0 的独立安装)
    • 重启系统
  5. 重置符号链接

    # 删除现有链接
    rmdir "C:\Program Files\nodejs" -Recurse -Force -ErrorAction SilentlyContinue
    
    # 重建链接
    nvm use 20.19.2 --force
  6. 最终验证

    nvm list
    node -v  # 应显示 v20.19.2
    where.exe node  # 应只显示 nvm 管理的路径

备用方案(若问题仍存在):

  1. 完全重装 nvm

    # 卸载 nvm
    nvm uninstall
    
    # 手动删除残留
    rm $env:NVM_HOME -Recurse -Force
    
    # 下载最新 nvm-windows 安装包
    # https://github.com/coreybutler/nvm-windows/releases
    # 重新安装后重试
  2. 临时解决方案(快速验证):

    # 直接调用具体版本的 node
    & "$env:NVM_HOME\v20.19.2\node.exe" -v

技术说明:

当出现 Currently using 64-bit executable 但版本未切换时,通常是因为:

  1. 存在全局安装的 Node.js(通过安装包安装)
  2. 环境变量 PATH 中旧版路径优先于 nvm 路径
  3. 权限不足导致符号链接创建失败

提示:完成修复后,建议运行 nvm on 确保开机自启 nvm 管理功能。