一、NVM简介
NVM 是一个命令行工具,用于在同一台机器上管理多个Node.js版本。解决以下问题:
• 多版本隔离:不同项目依赖不同Node.js版本。
• 版本切换:无需卸载重装,一键切换环境。
• 权限简化:避免全局安装包时的权限冲突。
二、安装指南
- Windows系统
• 步骤:
-
卸载现有Node.js(避免冲突)。
-
下载安装包:nvm-windows(github.com/coreybutler…
-
运行nvm-setup.exe,选择路径(路径不含中文/空格)。
-
验证安装:命令行输入 nvm -v 显示版本号即成功。
• 环境变量:安装后自动生成 NVM_HOME(nvm路径)和 NVM_SYMLINK(node快捷方式路径)。
- macOS/Linux系统
• 命令安装:
curl -o- raw.githubusercontent.com/nvm-sh/nvm/… | bash
或
wget -qO- raw.githubusercontent.com/nvm-sh/nvm/… | bash
• 配置生效:
source ~/.bashrc # Bash用户 source ~/.zshrc # Zsh用户
• 验证:command -v nvm 返回 nvm。
三、核心命令速查表
命令 功能 示例 nvm install 安装指定版本 nvm install 20.5.0 nvm use 切换当前终端版本 nvm use 18.17.1 nvm alias default 设置默认版本 nvm alias default 20.5.0 nvm ls 查看已安装版本 - nvm ls-remote 列出远程可用版本 - nvm uninstall 卸载指定版本 nvm uninstall 16.0.0 nvm current 显示当前使用版本 - nvm run
特殊版本标识:
• nvm install node:安装最新稳定版。
• nvm install --lts:安装最新LTS版本。
四、高级用法
- 项目级版本管理
在项目根目录创建 .nvmrc 文件,指定Node版本:
echo "20.5.0" > .nvmrc
进入目录时自动切换版本(需Shell插件支持):
nvm use # 手动触发
- 镜像加速(国内用户)
• 方法1(命令):
nvm node_mirror npmmirror.com/mirrors/nod… nvm npm_mirror npmmirror.com/mirrors/npm…
• 方法2(配置文件):
修改 settings.txt(路径通过 nvm root 获取):
node_mirror: npmmirror.com/mirrors/nod… npm_mirror: npmmirror.com/mirrors/npm…
- 全局包管理
• 问题:不同Node版本独立全局包空间,切换后需重装。
• 解决方案:统一全局包路径(减少重复安装):
npm config set prefix "D:\nvm\node_global" npm config set cache "D:\nvm\node_cache"
并添加路径至系统环境变量 PATH 。
五、最佳实践
-
团队协作:项目根目录添加 .nvmrc 文件,确保成员版本一致。
-
LTS优先:生产环境使用长期支持版(如 v20.x LTS)。
-
定期清理:卸载不再使用的版本(nvm uninstall )。
-
避免全局依赖:项目级依赖优先本地安装(npm install --save-dev)。
-
权限处理:Windows操作需管理员身份运行终端。
六、常见问题解决
- 切换版本失败:
◦ 检查路径是否含中文/空格(重装至纯英文路径)。
◦ Windows需确认 NVM_SYMLINK 指向正确快捷方式路径。
- 安装后命令未找到:
◦ macOS/Linux:检查Shell配置(.bashrc/.zshrc)是否包含:
export NVM_DIR="NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
◦ Windows:确认环境变量 Path 包含 %NVM_HOME% 和 %NVM_SYMLINK%。
- 下载缓慢/失败:
◦ 切换国内镜像源(见四.2)。
◦ 关闭代理或重试:nvm install --insecure(跳过SSL验证)。
七、替代工具推荐
• fnm(Fast Node Manager):跨平台,性能更优,安装命令:
curl -fsSL fnm.vercel.app/install | bash
官方文档:nvm-sh/nvm(github.com/nvm-sh/nvm)…)