🚀 NVM 安装与使用完整教程:Node.js 多版本管理终极指南
摘要 :本文手把手教你如何在 Windows、macOS 和 Linux 上安装并配置 NVM (Node Version Manager)。从彻底卸载旧版 Node.js、配置国内镜像加速,到掌握
.nvmrc项目级版本自动切换技巧,一文解决前端开发中的环境冲突难题。
1. 为什么需要 NVM?
在 Web 开发中,不同时期的项目往往依赖不同版本的 Node.js。例如,老旧的 Vue 2 项目可能需要 Node 14,而新的 Next.js 项目可能要求 Node 18+。如果全局安装多个版本,极易导致依赖冲突 或环境混乱。
NVM (Node Version Manager) 正是为此而生:
- ✅ 多版本共存:同一台机器同时安装 v14, v16, v18, v20...
- ✅ 一键切换:瞬间在不同版本间跳转,无需重新安装。
- ✅ 项目隔离 :通过
.nvmrc实现项目级别的版本自动匹配。

2. Windows 系统安装指南 (nvm-windows)
Windows 下使用的是社区维护的 nvm-windows 版本(由 Corey Butler 维护),它是一个独立的 .exe 安装程序。
2.1 准备工作:彻底卸载旧版 Node.js ⚠️
彻底卸载旧版 Node.js⚠️
彻底卸载旧版 Node.js ⚠️
彻底卸载旧版 Node.js ⚠️
重要:安装前必须清理旧环境,否则会导致路径冲突,NVM 无法正常工作。
- 卸载程序 :
- 打开
控制面板->程序和功能(或设置->应用)。 - 找到
Node.js,右键点击卸载。
- 打开
- 清理残留文件 :
- 手动删除以下目录(若存在):
C:\Program Files\nodejsC:\Program Files (x86)\nodejsC:\Users\<你的用户名>\AppData\Roaming\npmC:\Users\<你的用户名>\AppData\Roaming\npm-cache
- 提示 :
AppData是隐藏文件夹,需在资源管理器"查看"选项中勾选"隐藏的项目"。
- 手动删除以下目录(若存在):
- 清理环境变量 :
- 右键
此电脑->属性->高级系统设置->环境变量。 - 在
用户变量和系统变量的Path中,删除所有包含nodejs或npm的路径。 - 若存在名为
NODE_PATH的变量,也请一并删除。
- 右键
- 验证卸载 :
- 打开新的 CMD 窗口,输入
node -v。 - 若提示"不是内部或外部命令",说明清理成功。
- 打开新的 CMD 窗口,输入
2.2 下载与安装 NVM
- 下载 :访问 nvm-windows GitHub Releases。
- 安装包(可下载以下文件):
- nvm-noinstall.zip:绿色免安装版,但使用时需要进行配置。
- nvm-setup.zip:安装版,推荐使用
- nvm-setup.exe:无需解压,直接安装,墙裂推荐!!!

- 运行安装 :
-
双击运行,进入安装向导。
-
关键配置 1:NVM 安装路径 (
NVM_HOME):- 建议设置为无空格、无中文的路径,如
D:\nvm。 - ❌ 避免使用
C:\Program Files等带空格的目录。

- 建议设置为无空格、无中文的路径,如
-
关键配置 2:Node 符号链接路径 (
NODE_PATH):- 同样建议无空格路径,如
D:\nodejs。 - 安装程序会自动在此目录下创建各版本的软链接。
- 切记,这个文件夹下面不要有任何文件。

- 同样建议无空格路径,如
-
点击
Install完成安装。
-
2.3 配置国内镜像 (加速下载) 🇨🇳
国内用户直接从官方源下载 Node 极慢,需配置淘宝镜像。
-
进入 NVM 安装目录(如
D:\Appliation\nvm)。 -
用记事本打开
settings.txt文件。 -
在末尾添加以下内容:
ininode_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/ -
保存并关闭。
2.4 验证安装
以管理员身份打开 CMD 或 PowerShell,输入:
bash
nvm version
若显示版本号(如 1.2.22),则安装成功。
3. macOS / Linux 系统安装指南 (原生 nvm)
macOS 和 Linux 使用官方提供的 nvm 脚本安装,功能更强大且支持更多特性。
3.1 准备工作
如果之前通过包管理器(apt, yum, brew)安装过 Node,建议先卸载:
- Ubuntu/Debian :
sudo apt remove nodejs npm - CentOS/RHEL :
sudo yum remove nodejs npm - macOS (Homebrew) :
brew uninstall node
3.2 安装 NVM
-
打开终端。
-
执行官方安装脚本(推荐使用最新版):
bash# 官方源 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash-
国内备选 :若网络不通,可使用 Gitee 镜像:
bashcurl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh | bash
-
-
脚本会自动修改你的 shell 配置文件(
.bashrc,.zshrc等)。
3.3 加载环境变量
安装后需重新加载配置:
bash
# 关闭当前终端并重新打开,或执行:
source ~/.bashrc # Bash 用户
source ~/.zshrc # Zsh 用户 (macOS 默认)
3.4 验证安装
bash
nvm --version
显示版本号即表示成功。
4. 核心操作流程图
为了更直观地理解 NVM 的决策逻辑,我们来看两个关键场景的流程图。
场景一:环境初始化与版本选择决策
这张图展示了从安装到确定当前开发环境的完整逻辑。
Windows
macOS/Linux
否
是
开始:准备开发环境
操作系统类型?
安装 nvm-windows .exe
彻底卸载旧版 Node.js & 清理 Path
配置 settings.txt 镜像地址
nvm version 验证
运行 install.sh 脚本
source ~/.bashrc/zshrc
nvm --version 验证
是否已安装 Node?
nvm install --lts
安装最新长期支持版
nvm ls
查看已安装版本
nvm use <版本号>
✅ 环境就绪,开始开发
图 1: NVM 环境初始化与版本切换决策流程图
场景二:项目级版本自动切换 (.nvmrc)
当进入特定项目目录时,NVM 如何自动匹配版本?
否
是
是
否
开发者进入项目目录
是否存在 .nvmrc?
使用当前默认版本
nvm alias default
读取 .nvmrc 内容
例如:18.20.4
本地已安装该版本?
nvm use
自动切换到指定版本
提示用户安装
nvm install <版本>
nvm install <版本>
✅ 项目环境启动
图 2 : 基于
.nvmrc的项目级版本自动匹配机制
5. 常用命令速查表
| 类别 | 命令 | 说明 | Windows 特有注意 |
|---|---|---|---|
| 查看版本 | nvm ls |
列出已安装的版本,* 为当前激活 |
通用 |
nvm current |
显示当前使用的 Node 版本 | 通用 | |
| 安装版本 | nvm install <ver> |
安装指定版本 (如 18.20.4) | 通用 |
nvm install --lts |
安装最新的 LTS 版本 | 通用 | |
nvm install latest |
安装最新的稳定版 | 通用 | |
| 远程列表 | nvm ls-remote |
查看所有可安装的远程版本 | Linux/Mac |
nvm list available |
同上 (Windows 命令) | Windows | |
| 切换版本 | nvm use <ver> |
切换到指定版本 | 通用 |
nvm use --lts |
切换到最新 LTS | 通用 | |
| 卸载版本 | nvm uninstall <ver> |
卸载指定版本 | 通用 |
| 别名管理 | nvm alias default <ver> |
设置默认版本 (新开终端生效) | 通用 |
| 临时运行 | nvm run <ver> app.js |
用指定版本运行脚本,不切换环境 | 通用 |
nvm exec <ver> cmd |
用指定版本执行命令 | 通用 |
6. 进阶技巧:项目级版本管理 (.nvmrc)
对于团队协作,强制统一 Node 版本至关重要。
6.1 创建 .nvmrc
在项目根目录创建一个名为 .nvmrc 的文件,写入所需版本号:
text
18.20.4
6.2 自动切换策略
-
手动触发 :
进入项目目录后,运行nvm use,NVM 会自动读取.nvmrc并切换。 -
VS Code 自动集成 (推荐) :
安装插件 "Auto-nvm" 或 "Version Control" ,或者在 VS Code 的settings.json中添加:json"files.watcherExclude": { "**/.nvmrc": true } // 配合插件可实现进入文件夹自动切换 -
Shell 自动钩子 (高阶) :
可以在~/.bashrc中添加一段代码,实现每次cd进入有.nvmrc的目录时自动执行nvm use。
7. 常见问题排查 (FAQ)
- Q: 安装后
nvm命令找不到?- A: 检查环境变量是否生效。Windows 需重启 CMD;Mac/Linux 需
source配置文件。
- A: 检查环境变量是否生效。Windows 需重启 CMD;Mac/Linux 需
- Q: 安装速度极慢?
- A: 务必配置国内镜像(见第 2.3 节和第 3.2 节)。
- Q: 切换版本后
npm还是旧的?- A: 确保没有单独在全局安装
npm,NVM 管理的 Node 自带对应的 npm。
- A: 确保没有单独在全局安装
- Q: Windows 下
nvm use报错?- A: 检查是否以管理员身份运行 CMD,或者检查
settings.txt中的路径是否包含中文/空格。
- A: 检查是否以管理员身份运行 CMD,或者检查
作者:不会写程序的未来程序员
首发于 CSDN
版权声明:本文为原创文章,转载请注明出处。