一句话:nvm 让你按项目切换 Node 版本——Windows 用 nvm-windows,Linux/macOS 用 nvm-sh,记得设 default alias。
写在前面
不同项目依赖不同 Node 版本(14 / 18 / 20 LTS),全局只装一个 node 会经常踩「引擎不兼容」。nvm 是事实上的版本管理标准;Windows 与 Unix 是两个独立项目,命令大体相同但安装方式不同。本篇覆盖安装、常用命令、镜像加速和「新开终端版本丢失」问题。
核心内容
Windows(nvm-windows)
安装时建议:
- nvm 根目录:
E:\env\nvm(非 C 盘) - Node symlink 目录:
E:\env\nodejs
安装后重启 VS Code / 终端,再执行命令。
| 命令 | 说明 |
|---|---|
nvm list / nvm list installed |
已安装版本 |
nvm list available |
可下载版本列表 |
nvm install 20.11.0 |
安装指定版本 |
nvm uninstall 14.14.1 |
卸载 |
nvm use 20.11.0 |
当前终端切换版本 |
低版本 Node 没有 npm:国内下载慢可在 settings.txt(如 E:\env\nvm\settings.txt)配置镜像:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
Linux / macOS(nvm-sh)
安装
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# 或
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
安装脚本会把以下内容写入 ~/.bashrc / ~/.zshrc:
bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
新开终端自动加载 nvm。
常用命令(与 Windows 类似)
bash
nvm install 20
nvm use 20
nvm alias default 20 # 设置默认版本(重要)
nvm current
默认版本:use vs alias
| 命令 | 效果 | 适用范围 |
|---|---|---|
nvm use 18 |
当前 shell 切换到 18.x | 仅当前终端 |
nvm alias default 18 |
新开终端默认 18.x | 所有新会话 |
关闭终端后「版本又回去了」,是因为只执行了 use 没设 default alias。
与项目协作
项目根目录可写 .nvmrc:
20.11.0
配合 nvm use(无参数时读取 .nvmrc)或 direnv / fnm 自动切换。
踩坑
- Windows 上勿与独立安装的 Node 共存:先卸干净官方 Node,再装 nvm-windows,否则 Path 冲突。
nvm use需管理员权限(Windows 某些版本):右键「以管理员运行」终端,或使用nvm use x.x.x后确认node -v。- Linux 安装后 command not found:确认 shell 配置已
sourcenvm.sh,或source ~/.bashrc。 - 全局包装在旧版本上:切换 node 后全局包需重装,或用
nvm reinstall-packages <version>迁移。 - CI 与本地版本一致:CI 镜像 pin 到与
.nvmrc相同版本,避免「本地能跑 CI 挂」。
小结
- Windows → nvm-windows;Unix → nvm-sh。
- 日常:
install→use→ 项目加.nvmrc→alias default持久化。 - 国内慢:改
settings.txt或环境变量指向 npmmirror。


全部评论(0)