Skip to content

nvm 教程

什么是 nvm

nvm(Node Version Manager)是一个用于管理多个 Node.js 版本的工具,它允许你在同一台机器上安装和切换不同版本的 Node.js,而不会相互干扰。nvm 可以:

  • 安装多个 Node.js 版本
  • 在不同版本间快速切换
  • 为不同项目设置特定的 Node.js 版本
  • 管理 npm 版本(与 Node.js 版本关联)

安装 nvm

Windows 安装

  1. 下载并安装 nvm-windows
  2. 按照安装向导完成安装
  3. 安装完成后,重启终端

macOS/Linux 安装

使用安装脚本:

bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

或者使用 wget:

bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

环境配置

配置环境变量

macOS/Linux

安装脚本会自动将以下内容添加到 ~/.bashrc~/.zshrc~/.profile 文件中:

bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

如果没有自动添加,你需要手动添加并执行:

bash
source ~/.bashrc  # 或 source ~/.zshrc

Windows

nvm-windows 安装时会自动配置环境变量,无需手动设置。

基本使用

查看可用的 Node.js 版本

bash
nvm list available

安装指定版本的 Node.js

bash
nvm install 16.14.0  # 安装 Node.js 16.14.0
nvm install 14.17.6   # 安装 Node.js 14.17.6
nvm install lts       # 安装最新的 LTS 版本
nvm install latest    # 安装最新版本

查看已安装的 Node.js 版本

bash
nvm list  # 或 nvm ls

使用指定版本的 Node.js

bash
nvm use 16.14.0

设置默认 Node.js 版本

bash
nvm alias default 16.14.0

卸载指定版本的 Node.js

bash
nvm uninstall 14.17.6

查看当前使用的 Node.js 版本

bash
node -v

查看当前使用的 npm 版本

bash
npm -v

高级用法

创建别名

bash
nvm alias dev 16.14.0
nvm use dev

查看别名

bash
nvm alias

取消别名

bash
nvm unalias dev

运行指定版本的 Node.js

bash
nvm run 14.17.6 app.js

在指定版本的 Node.js 环境中执行命令

bash
nvm exec 14.17.6 npm install

常见问题

安装 Node.js 失败

原因:网络问题或权限不足

解决方法

  • 检查网络连接
  • 以管理员权限运行终端
  • 尝试使用不同的镜像源

切换 Node.js 版本失败

原因:环境变量配置问题

解决方法:确保正确配置了 nvm 的环境变量,并重启终端。

npm 命令不可用

原因:Node.js 版本未正确安装或切换

解决方法:重新安装 Node.js 版本,确保安装过程完成。

最佳实践

  1. 为每个项目设置特定的 Node.js 版本:在项目根目录创建 .nvmrc 文件,指定项目使用的 Node.js 版本
  2. 使用 LTS 版本:对于生产环境,建议使用 LTS(长期支持)版本的 Node.js
  3. 定期更新 nvm:使用 nvm install node --reinstall-packages-from=node 命令更新到最新版本
  4. 合理管理 Node.js 版本:只安装项目需要的版本,避免安装过多版本占用空间

总结

nvm 是一个强大的 Node.js 版本管理工具,它可以帮助你轻松管理多个 Node.js 版本,为不同项目提供合适的 Node.js 环境。通过本文的教程,你应该能够掌握 nvm 的基本使用方法,为你的 Node.js 开发工作提供便利。