如何在 Linux 上使用 NVM 切换 Node.js 版本(步骤指南)

管理不同的 Node.js 版本可能会变得混乱,特别是当你在多个项目上工作,每个项目都需要自己的 Node.js 设置时。Node 版本管理器(NVM)使在 Linux 上切换 Node.js 版本变得简单和整洁。在本指南中,你将准确了解如何安装 NVM、切换 Node 版本、设置默认值,以及快速解决常见问题。
要点
- NVM 帮助管理多个 Node.js 版本,避免冲突。
- 始终不使用
sudo
运行 NVM 和 Node.js 命令,以避免权限问题。
步骤 1:在 Linux 上安装 NVM
在终端中运行此命令:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
此脚本自动下载并安装 NVM。
验证安装
重新加载你的 shell:
source ~/.bashrc # 对于 Bash 用户
source ~/.zshrc # 对于 Zsh 用户
然后验证 NVM 安装:
nvm --version
你应该看到版本号。
安装故障排除
如果遇到 nvm: command not found
:
- 检查你的
~/.bashrc
或~/.zshrc
是否有这些行:
export NVM_DIR=""$HOME/.nvm""
[ -s ""$NVM_DIR/nvm.sh"" ] && . ""$NVM_DIR/nvm.sh""
- 添加这些行后,再次重新加载你的 shell。
步骤 2:安装和管理 Node.js 版本
安装最新的 Node.js 版本
安装最新的 Node.js:
nvm install node # 最新发布版
nvm install --lts # 最新长期支持(LTS)版本
安装特定的 Node.js 版本
查找并安装特定的 Node.js 版本(例如,20.11.0):
nvm ls-remote
nvm install 20.11.0
列出已安装的版本
检查已安装的 Node 版本:
nvm ls
步骤 3:在 Node.js 版本之间切换
立即切换 Node.js 版本:
nvm use 20.11.0
验证活动版本:
node -v
设置默认 Node.js 版本
为新终端设置默认 Node.js:
nvm alias default 20.11.0
步骤 4:使用 .nvmrc 设置项目特定版本
在你的项目文件夹中创建 .nvmrc
文件,内含 Node 版本(例如,20.11.0
)。然后使用:
nvm use
NVM 会自动从 .nvmrc
文件中选择版本。
常见问题和快速解决方案
Node 版本未更改
- 确保你没有错误使用系统安装的 Node.js。
- 运行
which node
确认正在使用 NVM 管理的 Node。 - 切勿使用
sudo
执行 NVM 命令或安装 npm 包。
切换版本后全局 npm 包丢失
每个 Node.js 版本管理自己的全局 npm 包。迁移全局包:
nvm install 20 --reinstall-packages-from=18
将""18""替换为你想要从中迁移的 Node 版本。
更新 NVM
再次运行安装脚本以无缝更新 NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
这会更新 NVM 而不影响已安装的 Node 版本。
结论
使用 NVM 显著简化了多个 Node.js 环境的管理。它能够快速切换、避免版本冲突,并保持 Linux 开发工作流程顺畅。
常见问题
不需要。NVM 在你的主目录中安装 Node.js 版本,因此不需要 root 权限(`sudo`),也不应该使用。
NVM 在 macOS 上完美运行。Windows 用户应该使用 NVM for Windows,这是一个类似但独立的工具。
确保 NVM 设置行在你的 shell 配置文件(`~/.bashrc`、`~/.zshrc`)中,然后重新加载 shell 或重启终端。
每个终端会话可以有不同的活动 Node.js 版本由 NVM 管理,但单个会话一次只能运行一个版本。