文章目录
- 一、简介
- 二、安装前准备
-
- [2.1 系统要求](#2.1 系统要求)
- [2.2 卸载已有的 Node.js](#2.2 卸载已有的 Node.js)
- [2.3 说明](#2.3 说明)
- [三、下载 NVM](#三、下载 NVM)
- [四、安装 NVM](#四、安装 NVM)
-
- [4.1 安装包安装(nvm-setup.exe)--- 推荐](#4.1 安装包安装(nvm-setup.exe)— 推荐)
- [4.2 免安装版(nvm-noinstall.zip)](#4.2 免安装版(nvm-noinstall.zip))
- 五、验证安装
- [六、使用 NVM 管理 Node.js](#六、使用 NVM 管理 Node.js)
-
- [6.1 查看可用版本](#6.1 查看可用版本)
- [6.2 安装 Node.js](#6.2 安装 Node.js)
- [6.3 查看已安装版本](#6.3 查看已安装版本)
- [6.4 切换版本](#6.4 切换版本)
- [6.5 卸载版本](#6.5 卸载版本)
- [七、常用 NVM 命令速查表](#七、常用 NVM 命令速查表)
- 八、配置国内镜像源(推荐)
- 九、常见问题排查
-
- [9.1 nvm 命令无法识别](#9.1 nvm 命令无法识别)
- [9.2 nvm use 切换版本后 node 命令无效](#9.2 nvm use 切换版本后 node 命令无效)
- [9.3 npm install 报错权限问题](#9.3 npm install 报错权限问题)
- [9.4 安装 Node.js 速度很慢](#9.4 安装 Node.js 速度很慢)
一、简介
官网:https://github.com/coreybutler/nvm-windows
NVM(N ode V ersion M anager)是一个用于管理多个 Node.js 版本的命令行工具。在实际开发中,不同的项目可能依赖不同版本的 Node.js------比如老项目还在用 Node 14,而新项目已经用上了 Node 20。如果每次都要手动卸载和重装 Node.js,既繁琐又容易出错。
NVM 可以让开发者在同一台机器上轻松安装、切换和管理多个 Node.js 版本,极大提升了开发效率。
NVM 的主要特点和用途包括:
-
多版本共存 :可以在同一台机器上安装多个
Node.js版本,按需切换,互不干扰。 -
快速切换 :通过一条命令即可在不同
Node.js版本之间切换,无需重新安装。 -
统一管理 :集中管理所有已安装的
Node.js版本,方便查看、安装和卸载。 -
项目适配 :不同项目可以使用不同版本的
Node.js,避免因版本不兼容导致的运行错误。 -
轻量便捷 :安装简单,占用资源极少,是
Node.js开发者的必备工具。
说明 :
NVM最初是为 Linux/macOS 设计的(https://github.com/nvm-sh/nvm)。本文介绍的是 nvm-windows ,即由 coreybutler 开发的 Windows 版本(https://github.com/coreybutler/nvm-windows),两者命令基本一致,但安装方式有所不同。
二、安装前准备
2.1 系统要求
在安装 NVM 之前,请确认你的 Windows 系统满足以下要求:
| 要求项 | 最低配置 |
|---|---|
| 操作系统 | Windows 7 / Windows Server 2008 R2 及以上 |
| 系统架构 | 64 位(推荐) |
| 内存 | 512 MB 可用内存 |
| 磁盘空间 | 至少 50 MB 可用空间(不含 Node.js 安装空间) |
2.2 卸载已有的 Node.js
如果你的电脑上已经通过官方安装包(.msi)安装了 Node.js,必须先卸载 ,否则会与 NVM 管理的版本产生冲突。

卸载步骤:
- 打开
控制面板→程序和功能(或设置→应用),或者按下Win + R键,输入appwiz.cpl并回车,可直接打开程序和功能窗口

- 找到
Node.js,右键选择卸载

- 卸载完成后,检查并删除以下目录(如果存在):
C:\Program Files\nodejsC:\Users\<用户名>\AppData\Roaming\npmC:\Users\<用户名>\AppData\Roaming\npm-cache
提示 :可以先在
CMD中执行node -v,如果提示'node' 不是内部或外部命令,说明旧版Node.js已经卸载干净了。
2.3 说明
nvm-windows安装后会自动接管Node.js的版本管理,通过nvm install安装的Node.js会自动配置好PATH环境变量。- 安装
nvm-windows之前,建议关闭所有已打开的CMD/PowerShell/终端窗口,安装完成后重新打开,以确保环境变量生效。
三、下载 NVM
下载地址
nvm-windows 托管在 GitHub 上:
- GitHub 仓库:https://github.com/coreybutler/nvm-windows
- 直接下载页:https://github.com/coreybutler/nvm-windows/releases

打开上述链接后,点击 Releases 进入版本发布页面,nvm-windows 提供两种安装方式:
- 安装包安装(nvm-setup.exe)(推荐,自动配置环境变量)
- 免安装版(nvm-noinstall.zip)(手动配置,适合高级用户)
根据自己的偏好,选择对应的版本或者安装方式。
注意: 这里不建议安装 1.2.2 版本的 mvn,因为 1.2.2 版本在处理 Node.js 18 以下版本的 npm 下载和解压时,出现了路径逻辑错误。
简单来说,nvm 在安装 Node.js 时,会先将 npm 下载到一个临时文件夹,再解压到目标位置。但在 1.2.2 版本中,这个过程出现了错乱:npm 被下载到了一个临时目录(例如 nvm-install-xxx\temp),但 nvm 却去另一个临时目录(例如 nvm-npm-xxx)寻找并解压这个文件。因为文件并不在它寻找的位置,所以最终报错"The system cannot find the file specified."。
这个问题很普遍,Node.js 16 及更低版本的安装都会受影响,而 Node.js 18 及以上版本则可以正常安装,所以我建议选择稳定的 1.1.12 版本
四、安装 NVM
4.1 安装包安装(nvm-setup.exe)--- 推荐
下载 nvm-setup.exe 安装包。

双击安装包运行,进入安装向导:


勾选 I accept the agreement 点击 Next

选择 NVM 的安装目录(例如:D:\dev\nvm),点击 Next
提示 :建议将
NVM安装到非系统盘(如 D 盘),避免后续因权限问题导致安装 Node.js 失败。

选择 Node.js 的安装目录(即 symlink 目录,例如:D:\dev\node),点击 Next
注意 :该目录由 NVM 自动管理,是一个符号链接(symlink),指向当前使用的 Node.js 版本,请勿手动修改该目录下的内容。

点击 Install,等待安装完成。

安装完成,点击 Finish。

提示 :安装过程中,
nvm-setup.exe会自动配置以下系统环境变量,无需手动操作:
环境变量 说明 示例值 NVM_HOMENVM 的安装目录 D:\dev\nvmNVM_SYMLINKNode.js 的符号链接目录 D:\dev\nodePath(追加)追加 %NVM_HOME%和%NVM_SYMLINK%---
至此安装结束。
4.2 免安装版(nvm-noinstall.zip)
下载 nvm-noinstall.zip 压缩包,解压到你希望安装的目录(例如:D:\dev\nvm)。


解压后的目录结构如下:

| 文件 | 说明 |
|---|---|
nvm.exe |
NVM 主程序 |
settings.txt |
NVM 配置文件 |
elevate.cmd |
提权脚本 |
nodejs |
Node.js 符号链接目录(安装后生成) |
解压完成后需要手动配置环境变量:
操作步骤:
-
右键
此电脑(我的电脑)→属性→高级系统设置→环境变量
-
在
系统变量中新建两个变量:变量名 变量值 说明 NVM_HOMED:\dev\nvm\nvmNVM 的安装目录 NVM_SYMLINKD:\dev\nodeNode.js 符号链接目录 

注意: NVM_SYMLINK 配置的文件夹必须存在,如果没有需要创建,且该文件夹必须是个空文件夹
-
在
系统变量中找到Path,选中后点击编辑,新增以下两条路径:%NVM_HOME%%NVM_SYMLINK%


-
然后一路点击
确定进行保存 -
在
NVM安装目录下,编辑settings.txt文件(如果这个文件不存在,则自己创建即可):textroot: D:\dev\nvm\nvm path: D:\dev\node arch: 64 proxy: none node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/
各字段说明:
字段 说明 rootNVM 的安装目录 pathNode.js 符号链接目录(与 NVM_SYMLINK一致)arch系统架构, 64表示 64 位proxy代理设置,无代理填 nonenode_mirrorNode.js 下载镜像源(建议配置国内镜像加速下载) npm_mirrornpm 下载镜像源 -
配置完成后,关闭所有已打开的
CMD窗口,重新打开一个新的CMD窗口使环境变量生效。
五、验证安装
安装完成后,打开 CMD 命令窗口(Win + R 输入 cmd),执行以下命令验证安装是否成功:
bash
nvm version
# 或者
nvm -v

如果输出版本号(例如:1.2.2),说明 NVM 安装成功。
提示 :如果提示
'nvm' 不是内部或外部命令,请检查环境变量是否正确配置,并重新打开CMD窗口再试。
六、使用 NVM 管理 Node.js
6.1 查看可用版本
查看远程仓库中可安装的 Node.js 版本列表:
bash
nvm list available
该命令会列出 LTS(长期支持版)和 Current(最新发行版)的各版本信息。

说明 :
LTS(Long Term Support)是长期支持版本,稳定性更好,适合生产环境使用;Current是最新发行版,包含最新特性,适合尝鲜和学习使用。一般推荐使用 LTS 版本。
6.2 安装 Node.js
安装指定版本的 Node.js:
bash
nvm install 20.18.0
安装最新的 LTS 版本:
bash
nvm install lts
安装最新版本:
bash
nvm install latest
提示 :安装过程会自动下载
Node.js并配置到NVM_SYMLINK指定的目录中。如果下载速度较慢,建议先配置国内镜像源(参见第八章)。
6.3 查看已安装版本
查看本机已安装的所有 Node.js 版本:
bash
nvm list
当前正在使用的版本会以 * 号标记,输出示例:
text
* 20.18.0 (Currently using 64-bit executable)
18.20.4
16.20.2
6.4 切换版本
切换到指定版本的 Node.js:
bash
nvm use 20.18.0
切换完成后,可以验证当前版本:
bash
node -v
npm -v
提示 :切换版本后,
node和npm命令会自动指向对应的版本,无需额外配置。如果遇到权限问题,请以管理员身份 运行CMD后再执行。
6.5 卸载版本
卸载不再需要的 Node.js 版本:
bash
nvm uninstall 18.20.4
注意:不能卸载当前正在使用的版本,需要先切换到其他版本后再卸载。
七、常用 NVM 命令速查表
以下是在 Windows 下使用 NVM 管理 Node.js 的常用命令:
| 操作 | 命令 | 说明 |
|---|---|---|
| 查看 NVM 版本 | nvm version |
查看当前 NVM 的版本 |
| 查看可安装版本 | nvm list available |
列出远程仓库中可用的 Node.js 版本 |
| 安装指定版本 | nvm install <version> |
安装指定版本的 Node.js |
| 安装 LTS 版本 | nvm install lts |
安装最新的 LTS 版本 |
| 安装最新版本 | nvm install latest |
安装最新版本 |
| 查看已安装版本 | nvm list |
查看本机已安装的所有版本 |
| 切换版本 | nvm use <version> |
切换到指定版本的 Node.js |
| 卸载版本 | nvm uninstall <version> |
卸载指定版本的 Node.js |
| 查看 Node.js 版本 | node -v |
查看当前使用的 Node.js 版本 |
| 查看 npm 版本 | npm -v |
查看当前使用的 npm 版本 |
| 开启 NVM | nvm on |
启用 NVM |
| 关闭 NVM | nvm off |
禁用 NVM |
提示 :
nvm on/nvm off仅在 Windows 版本的 NVM 中可用,用于临时启用或禁用 NVM 的版本管理功能。
八、配置国内镜像源(推荐)
由于 Node.js 官方源在国内访问较慢,建议配置国内镜像源以加速下载。
编辑 NVM 安装目录下的 settings.txt 文件(例如:D:\dev\nvm\settings.txt),添加或修改以下配置:
text
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
说明 :以上使用的是阿里巴巴提供的
npmmirror镜像源,是国内最稳定、最常用的 Node.js 镜像。
如果 settings.txt 中已有内容,只需在末尾追加上述两行即可,完整示例:
text
root: D:\dev\nvm
path: D:\dev\nodejs
arch: 64
proxy: none
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
配置完成后,再次执行 nvm install 命令即可体验高速下载。
九、常见问题排查
9.1 nvm 命令无法识别
执行 nvm 命令时提示 'nvm' 不是内部或外部命令:
可能原因及解决方案:
-
环境变量未配置 :检查系统变量中是否已正确配置
NVM_HOMEbashecho %NVM_HOME%如果输出为空,说明环境变量未配置,请参照第四章的安装步骤重新配置。
-
Path 未更新 :检查
Path中是否包含%NVM_HOME%和%NVM_SYMLINK% -
CMD 未重启 :关闭所有
CMD/PowerShell窗口后重新打开 -
免安装版路径错误 :如果是免安装版,确认
settings.txt中的root和path路径与实际目录一致
9.2 nvm use 切换版本后 node 命令无效
切换版本后,执行 node -v 提示 'node' 不是内部或外部命令:
可能原因及解决方案:
-
权限不足 :以管理员身份 运行
CMD后再执行nvm use -
符号链接未生效 :检查
NVM_SYMLINK指向的目录是否存在,且已被添加到Path中bashecho %NVM_SYMLINK% -
旧版 Node.js 冲突 :确认没有残留的旧版
Node.js安装路径与 NVM 的符号链接冲突 -
NVM_SYMLINK 路径配置问题: 环境变量
NVM_SYMLINK可能没有正确设置,或者设置的值不符合预期 -
目标路径已存在"物理"文件夹:
nvm-windows只能在NVM_SYMLINK指向的路径(即D:\dev\node)不存在任何东西的情况下,才能创建符号链接。
9.3 npm install 报错权限问题
执行 npm install -g 全局安装时提示权限错误:
解决方案:
-
以管理员身份 运行
CMD后再执行全局安装命令 -
或修改 npm 全局安装路径到用户目录下:
bashnpm config set prefix "%APPDATA%\npm"
9.4 安装 Node.js 速度很慢
使用 nvm install 安装 Node.js 时下载速度极慢:
解决方案:
- 配置国内镜像源
- 检查网络代理设置,在
settings.txt中配置proxy项 - 如果公司网络有限制,可联系网络管理员开放
npmmirror.com的访问权限
参考文献:
NVM-Windows GitHub 仓库:https://github.com/coreybutler/nvm-windows
NVM(Linux/macOS)GitHub 仓库:https://github.com/nvm-sh/nvm
Node.js 官方网站:https://nodejs.org/
npmmirror 中国镜像:https://npmmirror.com/
