NVM
下载 NVM
在工作中,你可能遇到过某个项目需要高版本的 node 才能运行,而有的项目可能只支持低版本的 node,此时就可以借助于一些 Node 版本管理工具,比如 nvm(Node Version Manager),帮助我们快速在不同的版本间切换。请注意,nvm 正如其 github 仓库所言,并不能很好的直接支持 Windows 系统:

所以,使用 Windows 系统的我选择使用其推荐的 nvm-windows 来管理 Node.js 版本。 在安装 nvm-windows 前,如果你的电脑中已经安装了 Node.js,那么可以选择卸载,也可以选择不卸载。因为在安装 nvm-windows 的过程中其会询问你是否需要将已安装的 Node.js 版本交由其管理。
访问 https://github.com/coreybutler/nvm-windows/releases 下载:

- nvm-noinstall.zip: 这个是绿色版本,不需要安装,但是使用之前需要配置环境变量
- nvm-setup.zip:推荐下载这个包,无需配置就可以使用
- Source code(zip):zip 压缩的源码
- Sourc code(tar.gz):tar.gz 的源码,一般用于 Linux 系统
安装 NVM
安装时都按默认配置点下一步即可,注意 nvm 和 Node.js 的放置位置要选择不同的文件夹。安装结束后按 win + R 调出运行窗口,输入 cmd 打开命令行工具,输入 nvm, 查看是否有返回类似下图这样的内容:

若有则代表安装成功,若提示 nvm 不是内部或外部命令,可以关掉命令行工具后重行打开尝试一次。
在 NVM 的安装目录下查看是否有 nodejs 目录,如果没有,需要新建一个名为 nodejs 的空目录:

同时需要更改环境变量的 NVM_SYMLINK 指向的是这个空的 nodejs 目录:

配置 NVM
直接通过 nvm 下载 node 可能需要消耗比较长的时间,所以我么可以设置 nvm 的淘宝镜像。
可以直接修改安装 nvm 文件目录下的 settings.txt 文件,在里面加上如下配置:
javascript
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
因为在安装 node 时需要安装 npm,所以 npm 的镜像也需要设置。
通过 NVM 安装 node
NVM 常用命令:
nvm list | 查看已安装管理的 node 版本 |
---|---|
nvm list available | 查看哪些 node 版本是可以安装的 |
nvm install latest | 安装最新版本的 Node.js |
nvm install lts | 安装最新的 LTS 版本的 Node.js |
nvm install 16.14.2 | 安装指定版本的 Node.js |
nvm use 17.7.2 | 切换到指定版本的 Node.js |
nvm uninstall 10.13.0 | 删除指定版本的 Node.js |
安装最新版本的 Node.js,再使用安装的版本的 nodejs,最后使用 <font style="color:rgb(51, 51, 51);">node -v</font>
验证 node 是否安装成功:
powershell
# 安装最新版本的 node
nvm install lts
# 查看已安装的 node 版本有哪些
nvm list
# 切换到指定版本的 node
nvm use 20.11.0
# 查看当前的 node 的版本
node -v

配置全局安装的模块路径和缓存路径
首先在 NVM 的安装目录新建两个文件夹 node_global 和 node_cache:

创建完两个文件夹后,在cmd窗口中输入以下命令(两个路径即是两个文件夹的路径):
javascript
npm config set prefix "D:\nvm\nvm\node_global"
npm config set cache "D:\nvm\nvm\node_cache"
在用户变量和环境变量中都添加上 node_global 目录的路径:

新建环境变量 NODE_PATH,值为 D:\nvm\nvm\node_global\node_modules,其中D:\nvm\nvm\node_global 是上述创建的全局模块安装路径文件夹:

全局安装一个 express 测试一下:
javascript
npm install express -g

配置 npm
设置 npm 使用淘宝镜像:
powershell
npm config set registry https://registry.npm.taobao.org
npm config get registry