NVM 使用

6 阅读3分钟

NVM 是 Node Version Manager(Node版本管理器)的缩写。它是一个用于在单个计算机上管理和切换多个 Node.js 版本的命令行工具。

为什么要用 NVM?

  1. 项目兼容性:不同的项目可能依赖不同版本的 Node.js
  2. 测试验证:可以在不同版本中测试代码兼容性
  3. 平滑升级:可以安装新版本试用,不影响现有项目
  4. 避免权限问题:安装在用户目录,无需 sudo 权限

安装 NVM

macOS/Linux

bash

# 使用安装脚本(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 或使用 wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

安装后重启终端或运行:

bash

source ~/.bashrc  # 或 ~/.zshrc, ~/.profile

Windows

使用 nvm-windows(独立项目):

  1. 下载地址:github.com/coreybutler…
  2. 下载 nvm-setup.exe 并安装

常用命令大全

版本管理

命令说明
nvm --version查看 nvm 版本
nvm install --lts安装最新的 LTS 版本
nvm install 18.19.0安装指定版本(如 18.19.0)
nvm install node安装最新稳定版
nvm uninstall 14.17.0卸载指定版本
nvm reinstall-packages 16.20.0重装当前版本的全局包到新版本

版本切换与查看

命令说明
nvm ls查看已安装的所有版本
nvm ls-remote查看所有可安装的远程版本
nvm ls-remote --lts查看所有 LTS 版本
nvm current查看当前使用的版本
nvm use 16.20.0切换到指定版本
nvm use --lts切换到最新的 LTS 版本
nvm use node切换到最新稳定版
nvm alias default 18.19.0设置默认版本(新开终端自动使用)

其他实用命令

命令说明
nvm which current查看当前 Node.js 的安装路径
nvm cache dir查看 nvm 缓存目录
nvm cache clear清理 nvm 缓存
nvm run 14.17.0 app.js使用指定版本运行脚本
nvm exec 16.20.0 npm --version在指定版本下执行命令
nvm unload从当前 shell 卸载 nvm

实际工作流示例

场景1:新项目使用特定 Node 版本

bash

# 1. 查看项目要求的 Node 版本(看 package.json 或 .nvmrc)
cat .nvmrc  # 如果有这个文件

# 2. 安装所需版本
nvm install 18.19.0

# 3. 切换到该版本
nvm use 18.19.0

# 4. 验证版本
node --version  # 应该显示 v18.19.0

场景2:管理多个项目

bash

# 项目A 使用 Node 16
cd ~/projects/project-a
nvm use 16.20.0
npm start

# 项目B 使用 Node 18
cd ~/projects/project-b
nvm use 18.19.0
npm start

场景3:创建 .nvmrc 文件(推荐)

在项目根目录创建 .nvmrc 文件:

bash

# 写入版本号
echo "18.19.0" > .nvmrc

# 然后只需运行
nvm use
# nvm 会自动读取 .nvmrc 并切换版本

常见问题解决

1. 安装 nvm 后 node 命令找不到

bash

# 确保 nvm 已加载
source ~/.bashrc  # 或 ~/.zshrc

# 如果还不行,检查 shell 配置文件是否有 nvm 初始化代码

2. Windows 下提示 "exit status 1"

管理员身份运行命令提示符或 PowerShell。

3. 切换版本后全局包丢失

bash

# 重装全局包到新版本
nvm reinstall-packages 旧版本号

4. 安装缓慢或失败

bash

# 设置淘宝镜像(中国用户)
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

# 然后再安装
nvm install 18.19.0

小贴士

  1. LTS vs Current

    • LTS(长期支持版):生产环境推荐,稳定性高
    • Current(当前版):有最新特性,但可能不稳定
  2. 版本命名18.19.0 = 主版本.次版本.修订版本

    • 偶数主版本号(16、18、20)通常是 LTS
  3. 项目规范:团队项目建议创建 .nvmrc 文件,确保所有人使用相同版本

  4. 结合 npm/yarn:切换 Node 版本后,可能需要重新安装 node_modules

    bash

    rm -rf node_modules package-lock.json
    npm install
    
  5. nvm安装低版本node 比如nvm install 14 可能install的node包不完整,如果遇到 自行下载完整的node包,拷贝到nvm的node版本管理目录

掌握 NVM 是前端工程师必备技能,它能让你在不同项目间无缝切换,大大提升开发效率!