Node Version Manager,Node.js 版本管理工具。允许在同一台机器上安装、切换、管理多个 Node.js 版本,每个终端/项目可独立使用不同版本。

安装

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
# 或
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
 
# Windows
# 使用 nvm-windows:https://github.com/coreybutler/nvm-windows/releases

常用命令

nvm install <version>           # 安装指定版本
nvm install 18                  # 安装 Node.js 18 最新
nvm use <version>               # 切换版本
nvm list                        # 列出本地已安装版本
nvm ls                          # 同上
nvm alias default <version>     # 设置默认版本
nvm current                     # 显示当前版本
nvm uninstall <version>         # 卸载某版本

典型用法

$ nvm use 16
Now using node v16.9.1 (npm v7.21.1)
 
$ nvm use 14
Now using node v14.18.0 (npm v6.14.15)
 
$ nvm install 12
Now using node v12.22.6 (npm v6.14.5)

工具边界

工具特点
nvm每个项目/终端独立版本,最灵活
n全局切换,更简单轻量
volta项目级版本锁定,工具链绑定

踩坑点

  • nvm 切换版本后,之前全局安装(npm install -g)的包不会自动迁移
  • .nvmrc 文件可以让 nvm use 自动读取项目指定版本
  • zsh 用户需确保 nvm 初始化脚本在 .zshrc 中正确加载,否则新终端不生效
  • nvm 不支持 Fish shell,需要用 fisher 插件或 nvm.fish