解决 Node.js 版本冲突:Windows 系统 nvm 安装与使用全指南

nvm-windows 小白攻略:从安装到配置,Node.js 版本管理一步到位

一、为什么你需要 nvm?

想象一下:你正在开发一个老项目,它需要 Node.js 14,而你正在开发一个新项目,需要 Node.js 20。如果不用 nvm,你得反复卸载和安装 Node.js,这太麻烦了!而且很容易搞混,导致项目无法运行。

nvm(Node Version Manager)就像一个"Node.js版本切换器",让你在 Windows 上轻松安装、切换和管理多个 Node.js 版本,就像在不同手机上安装不同App一样简单。

重要提示 :Windows 上的 nvm 不是官方的(官方 nvm 只支持 macOS/Linux),而是社区维护的 nvm-windows,由 Corey Butler 开发。

二、准备工作:彻底卸载旧版 Node.js

为什么必须卸载?

nvm 会与已安装的 Node.js 冲突,导致各种奇怪的问题。就像在同一个房间里同时放两台空调,会互相打架。

卸载步骤(手把手教学)
  1. 打开控制面板
    • Win + R,输入 appwiz.cpl,回车
    • 或者在开始菜单搜索"控制面板" → "程序" → "程序和功能"
  2. 卸载 Node.js
    • 找到 Node.js,右键 → "卸载"
    • 如果有多个版本,全部卸载
  3. 删除残留文件
    • Win + R,输入 %ProgramFiles%,回车
    • 找到 nodejs 文件夹,删除(如果存在)
    • Win + R,输入 %AppData%,回车
    • 找到 npmnodejs 文件夹,删除
  4. 清理环境变量
    • Win + R,输入 sysdm.cpl,回车
    • "高级" → "环境变量"
    • 在"系统变量"和"用户变量"中,找到 Path
    • 点击"编辑" → "查看变量值"
    • 删除所有包含 nodenpm 的路径
    • 点击"确定" → "确定" → "确定"
  5. 验证卸载是否成功
    • 打开命令提示符(CMD)或 PowerShell
    • 输入 node -vnpm -v
    • 如果显示"不是内部或外部命令",说明卸载成功

为什么这么麻烦?

因为 Windows 会把 Node.js 安装到系统路径,如果不彻底清理,nvm 无法正常工作。

三、下载并安装 nvm-windows

1. 访问官方 GitHub 仓库
2. 下载安装包
  • 找到最新版本(如 nvm-setup.zipnvm-setup.exe
  • 重要 :不要下载 nvm-noinstall.zip,这是手动安装的,新手容易出错
  • 点击下载 nvm-setup.exe(图形化安装程序,新手推荐)
3. 安装 nvm
  • 双击 nvm-setup.exe(如果弹出安全警告,点击"是")
  • 安装向导:
    • 点击"Next"
    • 接受许可协议 → 点击"Next"
    • 安装路径 (建议默认):C:\Users\你的用户名\AppData\Local\nvm
    • 符号链接路径 (关键!):C:\Program Files\nodejs不要包含空格或中文
    • 点击"Install" → "Finish"

为什么符号链接路径要设为 C:\Program Files\nodejs

这是 Windows 的标准路径,nvm 会在这里创建一个"快捷方式",指向你安装的 Node.js 版本。这样,当你在命令行输入 node,系统会自动找到正确的版本。

4. 重启命令行工具
  • 重要 :安装完成后,必须重启 CMD 或 PowerShell,否则环境变量不会生效

四、验证 nvm 是否安装成功

  1. 管理员身份打开 CMD 或 PowerShell

    • 在开始菜单搜索"cmd"或"PowerShell"
    • 右键 → "以管理员身份运行"
  2. 输入以下命令:

    bash 复制代码
    nvm version
  3. 如果显示版本号(如 1.1.12),说明安装成功!

如果提示 'nvm' 不是内部命令?

  • 确认是否彻底卸载了旧版 Node.js
  • 确认是否重启了命令行工具
  • 检查环境变量是否包含 nvm 路径(通常安装程序会自动添加)

五、使用 nvm 安装 Node.js

1. 查看可安装的 Node.js 版本
bash 复制代码
nvm list available
  • 这会显示所有官方支持的版本,包括:
    • LTS(长期支持版,稳定版,推荐用于生产环境)
    • Current(最新版,可能不稳定,推荐用于开发)
2. 安装指定版本(推荐 LTS)

安装最新 LTS 版本

bash 复制代码
nvm install lts

安装特定版本(如 20.12.0):

bash 复制代码
nvm install 20.12.0

安装主版本的最新版(如 18.x 最新版):

bash 复制代码
nvm install 18

为什么安装这么慢?

默认从官方服务器下载,速度较慢。别担心,我们后面会配置国内镜像加速!

3. 查看已安装的版本
bash 复制代码
nvm list
  • 输出示例:

    复制代码
    * 20.12.0 (Currently using 64-bit executable)
      18.17.0
    • * 表示当前正在使用的版本

六、切换 Node.js 版本

bash 复制代码
nvm use 20.12.0
  • 成功后会显示:Now using node v20.12.0

重要提示 :切换后,node -vnpm -v 会立即反映新版本!

切换到最新 LTS 版本
bash 复制代码
nvm use lts
切换到主版本的最新子版本
bash 复制代码
nvm use 18
查看当前版本
bash 复制代码
nvm current

七、配置国内镜像源(加速下载)

为什么需要配置镜像?
  • 默认从 nodejs.org 下载,国内用户速度慢
  • 配置国内镜像后,下载速度提升 5-10 倍
配置步骤
  1. 打开 nvm 安装目录:

    • Win + R,输入 %LOCALAPPDATA%\nvm,回车
    • 或者打开 C:\Users\你的用户名\AppData\Local\nvm
  2. 编辑 settings.txt 文件:

    • 如果没有 settings.txt,新建一个
    • 用记事本打开(右键 → "编辑")
  3. 添加以下内容:

    复制代码
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
  4. 保存文件

npmmirror 是什么?

这是淘宝提供的 NPM 镜像站,国内访问速度快,是 npm 的国内镜像,类似 "国内加速版"。

验证镜像是否生效
  • 重新安装一个版本:

    bash 复制代码
    nvm install 20.12.0
  • 观察下载速度,应该快很多!

八、设置默认版本(永久生效)

bash 复制代码
nvm alias default 20.12.0
  • 这样,每次打开新的 CMD/PowerShell,都会自动使用 20.12.0 版本
  • 以后就不需要每次手动 nvm use 20.12.0
查看默认版本
bash 复制代码
nvm alias
  • 输出示例:

    复制代码
    default -> 20.12.0

九、常用命令速查表(小白必看)

命令 作用 示例
nvm version 查看 nvm 自身版本 nvm version
nvm list 查看已安装的 Node.js 版本 nvm list
nvm list available 查看可安装的 Node.js 版本 nvm list available
nvm install 20.12.0 安装指定版本 nvm install 20.12.0
nvm install lts 安装最新 LTS 版本 nvm install lts
nvm install latest 安装最新 Current 版本 nvm install latest
nvm use 20.12.0 切换到指定版本 nvm use 20.12.0
nvm use lts 切换到最新 LTS 版本 nvm use lts
nvm current 查看当前使用的版本 nvm current
nvm alias default 20.12.0 设置默认版本 nvm alias default 20.12.0
nvm uninstall 20.12.0 卸载指定版本 nvm uninstall 20.12.0

十、常见问题解决

问题1:nvm use 报错 "exit status 1: Access is denied."

原因:权限不足,无法创建符号链接。

解决方法

  1. 管理员身份打开 CMD 或 PowerShell
  2. 或者在安装 nvm 时,确保目标路径(如 C:\Program Files\nodejs)有写入权限

为什么需要管理员权限?

Windows 为了安全,要求创建符号链接必须有管理员权限。

问题2:切换版本后 npm 命令失效

原因:npm 是随 Node.js 一起安装的,每个版本自带独立的 npm。

解决方法

  1. 确保使用 nvm use 正确切换
  2. 不要手动修改 PATH 中的 npm 路径
  3. 重启命令行工具
问题3:下载速度慢或失败

解决方法

  1. 确认已配置国内镜像(见"配置国内镜像源"部分)

  2. 如果仍然慢,尝试更换镜像:

    复制代码
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
问题4:nvm 命令在新窗口中无法使用

原因:环境变量未正确更新。

解决方法

  1. 重启电脑(最简单有效)
  2. 或者重启命令行工具(CMD/PowerShell)

十一、高级技巧

1. 为项目设置特定 Node.js 版本(配合 .nvmrc
  1. 在项目根目录创建 .nvmrc 文件

  2. 文件内容:20.12.0(指定版本)

  3. 在项目目录中运行:

    bash 复制代码
    nvm use
    • nvm 会自动切换到 .nvmrc 指定的版本

为什么需要这个?

当你和团队一起开发项目时,确保大家使用相同的 Node.js 版本,避免"在我电脑上能运行"的问题。

2. 同时安装多个常用版本
bash 复制代码
nvm install 18
nvm install 20
nvm install 22
  • 这样你就可以在不同项目中使用不同版本
3. 检查是否为 64 位版本
bash 复制代码
node -p "process.arch"
  • 输出应为 x64(表示 64 位版本)

十二、总结:为什么 nvm 是开发者的必备工具?

  1. 避免版本冲突:不用反复卸载重装 Node.js
  2. 快速切换nvm use 18 一秒切换到 Node 18
  3. 提高效率:不用等待漫长的下载,配置镜像后下载速度飞快
  4. 团队协作 :通过 .nvmrc 确保团队使用相同 Node.js 版本

最佳实践建议

  • 日常开发使用 LTS 版本(如 20.x)
  • nvm alias default 设置主力版本
  • 定期清理不用的旧版本:nvm uninstall 16.14.0

附录:资源链接


现在,你已经掌握了在 Windows 上用 nvm 管理 Node.js 的全部技能!

快去试试吧!你会发现,管理多个 Node.js 版本不再是难题,而是开发中的小确幸。

相关推荐
玖釉-3 小时前
深入浅出:渲染管线中的抗锯齿技术全景解析
c++·windows·图形渲染
Whoami!4 小时前
⓫⁄₈ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 滥用Windows服务提权(下)
windows·网络安全·信息安全·powerup.ps1
Knight_AL5 小时前
在 Windows 上安装本地 JAR 到 Maven 仓库
windows·maven·jar
春日见6 小时前
在 Windows中,WSL与Docker的关系
运维·开发语言·c++·windows·docker·容器
70asunflower7 小时前
Ubuntu Terminal 从零开始教程 - Windows用户转Linux指南
linux·windows·ubuntu
走粥7 小时前
TypeScript 泛型
开发语言·前端·javascript·windows·typescript
Dontla7 小时前
Windows管理系统启动项的方法(windows启动项、开机自启)
windows
张世争7 小时前
RT-Thread 5.3 windows bsp simulator scons --target=vs 生成的工程编译失败问题
windows·rt-thread·simulator
Roc.Chang7 小时前
Cursor / VS Code 常用快捷键对比表(Windows / Linux / macOS)
linux·windows·vscode·macos