您现在的位置是:网站首页 > Node.js版本管理工具(nvm/n)文章详情
Node.js版本管理工具(nvm/n)
陈川
【
Node.js
】
29570人已围观
2548字
Node.js 版本管理工具是开发者必备的利器,尤其在多项目协作或历史项目维护时,不同项目可能依赖不同版本的 Node.js,手动切换版本既低效又容易出错。nvm 和 n 是两个主流的版本管理工具,它们能帮助开发者快速切换、安装和管理 Node.js 版本。
nvm 的基本使用
nvm(Node Version Manager)是一个基于 shell 的 Node.js 版本管理工具,支持 macOS 和 Linux 系统(Windows 用户可使用 nvm-windows)。它的核心功能包括安装、切换和卸载不同版本的 Node.js。
安装 nvm
通过 curl 或 wget 安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
或
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
安装完成后需重启终端或执行 source ~/.bashrc
使配置生效。
常用命令示例
-
安装指定版本 Node.js:
nvm install 18.16.0 # 安装 v18.16.0 nvm install --lts # 安装最新 LTS 版本
-
切换版本:
nvm use 18.16.0 # 临时切换 nvm alias default 18.16.0 # 设置默认版本
-
查看已安装版本:
nvm ls
-
卸载版本:
nvm uninstall 14.17.0
项目级版本控制
在项目根目录创建 .nvmrc
文件指定版本:
18.16.0
运行 nvm use
自动切换至该版本。
n 的基本使用
n 是另一个轻量级 Node.js 版本管理工具,通过 npm 全局安装,适合所有主流操作系统。
安装 n
npm install -g n
常用命令示例
-
安装最新稳定版:
n stable
-
安装指定版本:
n 16.20.2
-
切换版本:
n # 交互式选择已安装版本
-
删除版本:
n rm 14.17.0
nvm 与 n 的对比
特性 | nvm | n |
---|---|---|
跨平台支持 | 需 Windows 替代方案 | 直接支持 |
安装方式 | 独立脚本 | 通过 npm 全局安装 |
版本隔离 | 强(独立目录) | 弱(共享全局模块) |
性能 | 稍慢(切换需重载) | 更快(直接覆盖) |
典型场景选择
- 多版本严格隔离:选择 nvm,避免全局模块冲突。
- 快速临时切换:选择 n,操作更简洁。
解决常见问题
nvm 安装慢
可通过国内镜像加速:
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
nvm install 16.20.2
n 切换无效
检查 PATH 是否包含 /usr/local/bin
:
echo $PATH
全局模块丢失
nvm 下重新安装全局模块:
nvm reinstall-packages 16.20.2
自动化脚本示例
结合 shell 脚本自动检测 .nvmrc
:
#!/bin/bash
if [ -f .nvmrc ]; then
nvm use
fi
node app.js
与 CI/CD 集成
在 GitHub Actions 中使用 nvm:
jobs:
build:
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
高级技巧
并行测试多版本
使用 nvm 批量测试脚本:
for version in 14.17.0 16.20.2 18.16.0; do
nvm use $version
npm test
done
自定义安装路径
nvm 允许自定义安装目录:
export NVM_DIR="/opt/nvm"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
下一篇: Node.js的全局对象