文章列表
3 分钟阅读

nvm 安装和使用教程


nvm 是 Node Version Manager 的缩写,用来在同一台机器上安装、切换和管理多个 Node.js 版本。对前端项目来说,它很实用:老项目可能需要 Node 18,新项目可能要求 Node 22,而 nvm 可以让这些版本共存。

适用环境

nvm 主要适用于 macOS、Linux 和 WSL。Windows 原生环境通常使用 nvm-windows,它和这里介绍的 nvm-sh/nvm 不是同一个项目。

安装前建议确认系统里有 curlwget

curl --version

或者:

wget --version

安装 nvm

官方推荐通过安装脚本安装。使用 curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

或者使用 wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

安装脚本会把 nvm 下载到用户目录,并尝试把初始化脚本写入当前 shell 的配置文件,比如 ~/.bashrc~/.zshrc~/.profile

安装完成后,关闭并重新打开终端,或者手动加载配置:

source ~/.bashrc

如果你用的是 zsh:

source ~/.zshrc

验证安装结果:

command -v nvm

如果输出 nvm,说明已经安装成功。

安装 Node.js

安装最新 LTS 版本:

nvm install --lts

安装指定大版本:

nvm install 22

安装指定完整版本:

nvm install 22.12.0

查看当前 Node.js 和 npm 版本:

node -v
npm -v

切换 Node.js 版本

查看已经安装的版本:

nvm ls

切换到 Node 22:

nvm use 22

切换到 LTS:

nvm use --lts

如果某个版本还没安装,可以先安装再使用:

nvm install 22
nvm use 22

设置默认版本

如果希望每次打开终端都默认使用 Node 22:

nvm alias default 22

之后新终端会自动使用这个默认版本。

在项目中使用 .nvmrc

推荐在项目根目录放一个 .nvmrc 文件,写入项目需要的 Node 版本。例如当前项目要求 Node.js >=22.12.0,可以写:

22

进入项目后执行:

nvm use

nvm 会读取 .nvmrc 并切换到对应版本。如果本地还没有安装这个版本,可以执行:

nvm install

常用命令速查

nvm install --lts      # 安装最新 LTS
nvm install 22         # 安装 Node 22
nvm use 22             # 切换到 Node 22
nvm ls                 # 查看本机已安装版本
nvm ls-remote          # 查看可安装的远程版本
nvm alias default 22   # 设置默认版本
nvm uninstall 20       # 删除 Node 20

常见问题

nvm: command not found

通常是 shell 配置还没有加载。先重新打开终端;如果还不行,按自己的 shell 执行:

source ~/.bashrc

或:

source ~/.zshrc

也可以检查配置文件里是否有类似内容:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

npm 全局包切换后不见了

不同 Node 版本有各自独立的全局包目录。切换版本后,如果需要全局工具,要重新安装:

npm install -g pnpm

项目构建提示 Node 版本不支持

先看项目的 package.json 里有没有 engines.node 要求。比如项目要求 >=22.12.0,就执行:

nvm install 22
nvm use 22
node -v

确认版本满足要求后,再重新安装依赖或执行构建命令:

npm install
npm run build