NVM 是一个非常方便的 Node.js 包管理工具,可以实现在 Node.js 各个不同版本之间自由地进行切换。下面介绍用 root 权限安装 NVM 工具。到 2021 年 7 月,NVM 的最新版本为 v0.39.1。
Linux 安装 NVM
GitHub 地址:https://github.com/nvm-sh/nvm
1. 下载包
1 | cd /usr/local |
2. 解压包
1 | tar -xvf v0.39.1.tar.gz |

在这里拿到文件的安装目录,放哪里无所谓。
3. 配置 bashrc 文件
将 export NVM_DIR="/usr/local/nvm-0.39.1" 改成自己的目录。
1 | # 编辑文件 |
4. 使用
命令行生效,敲一下命令:
1 | # 刷新配置 |

可以看到我这里已经使用 NVM 安装了两个不同版本的 Node.js。
在哪个项目中使用 NVM 就直接 nvm use 版本 切换就可以了。
5. 使用 NVM 下载相关 Node 版本
1 | nvm install 14.13.2 |
设置国内代理【可选】
1 | # 默认地址为:https://nodejs.org/dist |
问题
安装 Node 18 以上的版本时出现:
node: /lib64/libm.so.6: version 'GLIBC_2.27' not found (required by node)
参考:https://github.com/nvm-sh/nvm/issues/2972
方案:the linux kernel version is too old to match the node v18, and the solution is either upgrade the glibc version or downgrade the node's version
需要升级 glibc 到 2.27 以上或者降级 Node 版本。
Windows 安装 NVM
GitHub 地址:https://github.com/coreybutler/nvm-windows/releases
可以选择
noinstall或setup安装,区别是前者是免安装版,需要手动配置,略麻烦。这里建议把 Node.js 和 NVM 安装到同一个文件夹下面,方便管理。
1. 修改 NVM 的安装配置
因为 NVM 默认安装 Node 使用的是国外的镜像,为了避免安装失败,所以要修改一下 NVM 配置。首先打开你的 NVM 所在文件夹,用编辑器打开 settings.txt:
1 | root: D:\Software\nvm\nvm |
2. 安装
- 添加完之后打开命令行工具执行
nvm install [version],这里的version指的是你想要安装的 Node 版本,下同。 - 安装完成后使用
nvm ls查看已安装的 Node 版本。 - 使用
nvm use [version]来使用你选择的 Node 版本。 - 也可使用
nvm uninstall [version]卸载 Node 版本。
例如 nvm install 10.24.1 则是安装 v10.24.1 版本的 Node,而 nvm uninstall 10.24.1 为卸载 v10.24.1 版本的 Node。
安装完成后在命令行工具输入 node -v 和 npm -v 检查是否安装成功,若命令行输出版本号则说明安装成功。
注:如果输入
npm/node命令提示 not found,可以下载一个之前没下过的版本,令 NVM 生成D:\Software\nvm\nodejs即可。
3. 配置 npm
首先打开安装 NVM 时创建的 nodejs 文件夹,然后在里面创建 node_global 和 node_cache 两个文件夹。

然后在命令行工具执行下面两条命令来修改 npm 全局安装包和缓存的位置:
1 | npm config set cache=D:\Software\nvm\nodejs\node_cache |
这时候使用 npm 安装的全局包都会安装到指定的路径,可以在命令行工具执行 npm i express -g。
配置好后在 C:\Users\admin 下会出现 .npmrc 这个文件,说明配置成功,接下来配置环境变量。
4. 环境变量
配置环境变量的目的主要是全局依赖的指令能够在命令行里使用。
右键我的电脑 > 属性 > 高级系统设置,高级选项卡里选择环境变量。

在用户变量里选择 path 后,查看是否有这些,如果没有则添加上去:

然后在系统变量选择新建,添加 NODE_PATH:

注意:如果全局安装的包无法找到,即无法使用全局命令,可以尝试将 NODE_PATH 变量值后面的 \node_modules 去掉,然后重新打开应用程序尝试。
如果还无法使用全局命令,尝试右键将"以管理员身份运行此程序"选项打开。
配置完成。