Ubuntu 下升级 Node.js 的实用方法

在 Ubuntu 上管理 Node.js 版本,是开发者绕不开的日常。面对不同的项目需求,是追求稳定还是尝鲜新特性?别担心,下面这几种主流方法,总有一款适合你。
方法一 使用 NVM 进行多版本管理(推荐)
要说灵活,NVM(Node Version Manager)绝对是首选。它允许你在同一台机器上安装和切换多个 Node.js 版本,彼此隔离,互不影响,特别适合多项目并行开发和团队协作。
- 安装或更新 NVM(Node Version Manager):
- 执行安装脚本并加载到当前会话:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc # 如使用 zsh 则执行:source ~/.zshrc
- 执行安装脚本并加载到当前会话:
- 查看并安装目标版本:
nvm ls-remote # 查看远程可用版本 nvm install --lts # 安装最新 LTS nvm install 22 # 安装指定主版本(示例:22) nvm install 18.18.2 # 安装精确版本(示例) - 切换与使用:
nvm use --lts # 临时使用 LTS nvm use 22 # 临时使用指定版本 nvm alias default 22 # 设置默认版本,新终端自动生效 - 验证:
node -v npm -v
方法二 使用 NodeSource 的 APT 仓库升级(系统级)
如果你追求的是系统级的统一和简洁,那么通过 NodeSource 的官方 APT 仓库来安装,是个不错的思路。这种方法适合生产环境,或者你希望整个系统只使用一个确定的版本。
- 更新索引并添加 NodeSource 仓库(以 Node.js 22.x 为例,其他版本将 22.x 替换为目标主版本):
sudo apt update curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - - 安装或升级 nodejs(此操作会替换旧版本):
sudo apt install -y nodejs - 验证:
node -v npm -v
值得注意的是,如果你想从旧版本进行一个干净的升级,可以先执行 sudo apt remove --purge nodejs npm 彻底移除旧版,然后再安装新版本。
方法三 使用 n 或 fnm 等版本管理工具
除了 NVM,社区里还有其他轻量级的选择,比如 n 和 fnm。它们同样支持多版本切换,在某些场景下可能更符合你的使用习惯。
- 使用 n(需已安装 Node.js 与 npm):
sudo npm install -g n n lts # 安装最新 LTS n 22 # 安装指定主版本 n # 交互式选择已安装版本 sudo n lts # 在部分系统上可能需要 sudo 写入 /usr/local - 使用 fnm(跨平台、速度快):
curl -fsSL https://fnm.vercel.app/install | bash source ~/.bashrc fnm install --lts fnm use --lts fnm default 22
简单来说,n 和 fnm 都是优秀的版本管理工具,适合在 Linux 或 macOS 上作为现有环境的补充或替代方案。
升级后的兼容性与最佳实践
版本升级成功只是第一步,确保项目稳定运行才是关键。这里有几个小贴士:
- 在项目中固定版本: 强烈建议在项目根目录创建一个
.nvmrc文件(例如写入22或lts/*)。这样,进入项目目录后,只需运行nvm use,就能自动切换到指定版本,确保团队成员和 CI/CD 环境的一致性。 - 全局包迁移: 切换 Node 主版本后,全局安装的包不会自动跟随。一个可行的迁移思路是:
npm list -g --depth=0 > global-before.txt # 切换 Node 版本后 npm install -g $(cat global-before.txt | awk '{print $2}') - 验证与回退: 升级后,别忘了用
node -v和npm -v确认版本,并跑一遍你的项目测试。万一出现兼容性问题也别慌,使用nvm use <旧版本>或fnm use <旧版本>可以快速回退到之前的稳定状态。
