nvm-windows 安装与多版本 Node 切换指南

2026-10-24

标签Node.jsnvm版本管理Windows

老项目锁定 Node 12、新项目要求 Node 20,一台 Windows 机器上两个项目怎么共存?答案是用 NVM for Windows——微软与谷歌推荐的 Windows 版 Node 版本管理器,一条命令装版本、一条命令切版本,不用再反复卸载重装。本文从安装前清理讲到命令速查,照着做即可。

先认清:nvm-windows 不是 Linux 的 nvm

这是新手最容易踩的坑。网上说的 nvm 通常指 Linux/macOS 上由 shell 脚本实现的 Node Version Manager,Windows 原生环境跑不了。Windows 上用的是独立项目 NVM for Windows(官方仓库在 GitHub,官网为 nvm-windows.com),内部实现完全不同,只共享命令思路。在 Windows 上搜教程,看清是「NVM for Windows」再照做,别照着 curl -o- ... nvm.sh 那套操作。

安装前:彻底清理旧版 Node

带残留的旧 Node 会造成「node -v 显示的版本飘忽不定」的经典问题,先按清单清理:

  1. 「设置 → 应用」卸载所有 Node.js 条目。
  2. 删除安装目录(默认 C:\Program Files\nodejs),残留目录手动删掉。
  3. 视需要清理 npm 全局目录(默认 C:\Users\<用户名>\AppData\Roaming\npm)与缓存目录。
  4. 在「环境变量」中删除所有 Node.js 相关 PATH 条目(如 C:\Program Files\nodejs、...\npm)。
  5. 重开命令行执行 node -v,提示「不是内部或外部命令」即表示清理干净。

建议在「设置 → 开发者选项」中开启开发人员模式,可减少后续创建符号链接时的权限报错。

官方下载与安装

  1. 到 NVM for Windows 官方仓库的 Releases 页面下载 nvm-setup.exe(或从官网 nvm-windows.com 进入下载)。
  2. 运行安装向导,一路默认即可。安装包版本号(如 1.1.x 或 2.x)只代表 NVM 工具自身版本,与 Node 版本无关。
  3. 安装完成后重开命令行执行 nvm version,能输出版本号即安装成功。

注意 NVM 的下载来源只认官方仓库与官网,不要用第三方打包站提供的版本。

常用命令速查

| 命令 | 作用 | |------|------| | nvm list / nvm ls | 查看已安装及当前使用的 Node 版本 | | nvm install 20 | 安装指定主版本的 Node(可 nvm install 20.11.1 指定精确版本) | | nvm use 20 | 切换当前使用的版本 | | nvm uninstall 18 | 卸载某版本 | | nvm list available | 查看可安装的远程版本列表 |

切换版本后执行的 node -v、npm -v 即为新版本。全局安装的 npm 包按版本隔离,切换后如需使用需在对应版本下重新安装。

按项目自动切换版本

NVM for Windows 新版支持「按目录固定版本」:在项目根目录执行固定命令后,进入该目录会自动使用指定 Node 版本,离开时切回默认,不用每次手动 nvm use。具体命令以你安装版本的官方文档为准(不同版本写法略有差异,官方 README 里有明确说明)。

这一特性对维护多个历史项目特别有用:每个项目锁一个 Node 版本,互相不干扰,也不必再担心 node-sass 之类老依赖在高版本 Node 下编译报错。

常见问题

  • nvm use 报权限/找不到符号链接:确认旧 Node 已彻底清理(重点看 PATH 残留)、以管理员身份打开终端、已开启开发人员模式。
  • 切换后 node -v 没变化:多半是 PATH 里残留了旧 Node 路径,按上文清理清单复查。
  • 安装版本失败:确认网络可访问官方 Node 镜像,企业网络可配置代理后重试。
  • 与前几个项目的工具链冲突:检查项目根是否已有版本固定配置,以及该版本的固定命令是否确实生效。

安装 LTS 版本与镜像配置

新手建议优先装 LTS(长期支持)版本:nvm install --lts 直接安装当前 LTS,nvm ls 里带 LTS 标记的为主流使用版本。生产项目、团队协作环境统一用 LTS 最为稳妥;只有需要体验新特性时才装 Current 版本,避免在正式项目里踩到未稳定特性。

国内网络环境下载 Node 较慢时,可检查 NVM 是否支持配置镜像源(NVM for Windows 的 settings.txt 支持自定义 Node 下载镜像与 npm 镜像地址)。设置 npm 镜像更常见:在使用的 Node 版本下执行 npm config set registry https://registry.npmmirror.com,之后安装依赖速度明显提升。注意镜像配置按版本生效,切换版本后如提示找不到全局包,重新执行一次即可。是否使用镜像以你对网络环境的实际需求和官方文档说明为准。

最后提示一个规划层面的建议:NVM 管理的是 Node 解释器版本,与项目里的 package.json、锁文件配合使用时,应让项目团队约定统一的 Node 版本并把固定配置提交进仓库。这样新成员克隆项目后按固定配置一键切版本,避免「我本机能跑、换台机器就报错」的经典环境问题,也省去逐个排查版本的沟通成本。

装完做这几件确认

  • [ ] nvm version 正常输出,NVM 工具可用
  • [ ] nvm install 装好了项目需要的版本,nvm list 能看到
  • [ ] nvm use 切换后 node -v / npm -v 随之变化
  • [ ] 项目按目录自动切换版本已生效
  • [ ] 全局工具(如 yarn、pnpm)已在所需版本下重新安装

NVM for Windows 解决的是「版本共存」,不是「环境保障」;配合官方 LTS 版本策略使用效果更佳。相关阅读:[Node.js LTS 还是 Current](nodejs-lts-or-current.html)、[Git for Windows 安装指南](git-for-windows-install-guide.html)。