NVM 入门指南(Node Version Manager)
NVM 是一款命令行工具,用于帮助你在同一个系统上管理和切换多个版本的 Node.js。
目录
NVM 的作用
在不使用 NVM 的情况下,一个系统通常只能安装一个 Node.js 版本,容易造成以下问题:
| 问题场景 | 使用 NVM 的好处 |
|---|---|
| 不同项目需要不同版本的 Node.js | 可以快速切换所需版本 |
| 系统级安装 Node.js 需要 sudo,导致权限问题 | NVM 将 Node 安装在用户目录,可避免权限冲突 |
| 升级 Node.js 不便 | 任意安装、删除和切换版本,不影响系统环境 |
安装 NVM
macOS / Linux
执行官方安装脚本:
1 | # 使用 curl |
安装完成后,重新打开终端或执行以下命令使 NVM 生效:
1 | source ~/.bashrc |
Windows 用户说明
NVM 原项目不支持 Windows。若在 Windows 上使用,请安装独立维护项目 nvm-windows(命令略有不同)。
基本命令
查看和安装版本
| 命令 | 说明 | 示例 |
|---|---|---|
| nvm ls-remote | 查看所有可安装的 Node.js 版本 | nvm ls-remote |
| nvm ls-remote –lts | 查看所有长期支持 (LTS) 版本 | nvm ls-remote –lts |
nvm install <version> |
安装指定版本 | nvm install 20.11.1 |
| nvm install –lts | 安装最新 LTS 版本 | nvm install –lts |
切换版本
| 命令 | 说明 | 示例 |
|---|---|---|
| nvm ls | 查看本地已安装的版本 | nvm ls |
nvm use <version> |
切换 Node 版本(仅当前会话) | nvm use 20.11.1 |
| nvm use system | 切回系统默认安装的 Node.js | nvm use system |
| nvm current | 查看当前所用版本 | nvm current |
设置默认版本
| 命令 | 说明 | 示例 |
|---|---|---|
nvm alias default <version> |
设置默认 Node.js 版本 | nvm alias default 20.11.1 |
| nvm deactivate | 临时停用 NVM | nvm deactivate |
项目级 Node 版本管理(.nvmrc)
在项目根目录创建 .nvmrc 文件,并写入所需 Node.js 版本:
1 | echo "18.20.0" > .nvmrc |
进入该目录后执行:
1 | nvm use |
NVM 会自动读取 .nvmrc 并切换版本。
常见问题
1. 安装后提示 command not found: nvm
原因:shell 配置文件未加载 NVM 初始化脚本。
解决方法:执行以下任意一条(视你使用的 shell 而定):
1 | source ~/.bashrc |
或关闭终端重新打开。
附录:自动读取 .nvmrc(可选优化)
如果希望每次切换目录时自动应用 .nvmrc 中的版本,可将以下代码加入 ~/.zshrc:
1 | autoload -U add-zsh-hook |
此方式可在项目切换时自动使用正确的 Node.js 版本。
完成
至此,我们已经掌握:
- 如何安装 NVM
- 如何切换 Node.js 版本
- 如何为项目指定 Node.js 版本
希望该教程能帮到你。