Ubuntu 22.04 使用 nvm 管理多个 Node.js 版本

用 nvm 为不同项目切换 Node.js,并排查新终端中 nvm command not found 的配置问题。

适用环境:Ubuntu 22.04 LTS 的 Bash / Zsh 用户。nvm 是“按用户、按 shell”工作的工具,不会成为系统范围的 apt 软件包。

nvm 适合同时维护多个 Node.js 项目:一个老项目使用旧 LTS,另一个项目使用新版本,而不需要反复卸载系统 Node。

从官方发布页安装

nvm 官方仓库的安装说明 复制当前发布版本的安装命令。执行 curl | bash 类命令前,建议先打开脚本链接审阅,或采用官方 README 提供的 Git 安装方式。

安装器通常会把下面这一类加载代码写入 ~/.bashrc 或其他 shell 配置文件:

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

重新打开终端,或执行:

1
2
source ~/.bashrc
command -v nvm

注意要用 command -v nvm,而不是 which nvm:nvm 是 shell 函数,不是普通可执行文件。

常用工作流

1
2
3
4
5
nvm install --lts
nvm use --lts
nvm alias default 'lts/*'
node --version
npm --version

项目根目录可以放置 .nvmrc,例如写入 22 或具体版本号;进入项目后执行 nvm use,使每个项目都用其要求的运行时。不要对 nvm 管理的全局 npm 包使用 sudo

双系统边界

Ubuntu 上的 nvm 与 Windows 11 中安装的 Node.js / nvm-windows 相互独立。不要试图让两边共享 ~/.nvmnode_modules 或全局 npm 目录;文件权限、原生模块和路径格式都不同。

出处

本文基于项目官方文档整理,避免固化会过期的安装脚本版本号。