Skip to content

nvm (Node Version Manager) 是一个用于管理 Node.js 版本的工具,可以让用户在同一台机器上安装和切换多个 Node.js 版本,非常适合开发环境中需要兼容不同 Node.js 版本的场景。

下载 & 安装

针对 windows 用户,推荐使用 nvm-windows。选择最新版本的安装程序,如下所示:

双击运行安装程序,在安装过程中,可以选择 nvm 和 Node.js 软链接的安装路径。完成路径选择后,按照提示依次点击 ➡️ 下一步即可完成安装。如下所示:

安装完成之后,可以使用 nvm version 命令测试 nvm 是否安装成功。若输出版本号,则说明 nvm 已成功安装。

不要急着安装 Node.js,可以先使用如下命令配置 Node.js 和 npm 的镜像源地址。

bash
nvm node_mirror https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/

或者直接前往 nvm 的安装目录,找到 settings.txt 文件,在其中手动配置镜像源地址。

常用命令

  • nvm list available:列出所有可安装的 Node.js 版本。
  • nvm install <version>:安装指定版本,如 nvm install 18
  • nvm use <version>:切换到指定版本,如 nvm use 18
  • nvm list:查看本地已安装的 node 版本,并高亮显示当前正在使用的 Node.js 版本。
  • nvm current:显示当前正在使用的 Node.js 版本。
  • nvm uninstall <version>:卸载指定版本,将删除该版本下安装的所有包,如 nvm uninstall 18.20.4

npm 配置

全局模块路径和缓存路径配置

我们可以使用 npm root -gnpm config ls 命令来查看 npm 默认的全局模块路径。后者提供的信息更加详细,列出了所有配置选项及其当前值。

在修改 npm 默认配置之前,首先在 Node.js 安装目录(如:E:\devsoft\nodejs)下创建两个文件夹:node_global 用于存放全局模块,node_cache 用于存放全局缓存。

  • 全局模块路径:npm config set prefix "E:\devsoft\nodejs\node_global"
  • 全局缓存路径:npm config set cache "E:\devsoft\nodejs\node_cache"

最后,可以通过 npm config ls 命令查看修改后的 npm 配置,如下所示:

环境变量配置

  1. 右键点击 " 计算机 " 或 " 此电脑 ",选择 " 属性 "。
  2. 点击 " 高级系统设置 "。
  3. 在弹出的 " 系统属性 " 窗口中,点击 " 环境变量 "。
  4. 在 " 系统变量 " 区域,可以看见安装 nvm 时已帮我们新建的 NVM_HOMENVM_SYMLINK 变量。
  5. 配置 Path 系统变量。
    1. 在 " 系统变量 " 中找到 Path 变量,点击 " 编辑 "。
    2. 点击 " 新建 ",添加 %NVM_SYMLINK%\node_global,然后尽量将其 " 上移 "。
    3. 最后一路点击 " 确定 " 进行保存配置。

镜像源配置

我们可以使用 npm get registry 命令来查看当前 npm 所使用的镜像源,该命令会返回当前配置的 npm 镜像源 URL。

由于某些原因,如果你发现镜像源访问速度较慢,或者需要切换到其他源,可以通过 npm config set registry xxx 命令来修改 npm 镜像源,如下所示:

bash
# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com/

# 使用华为云镜像
npm config set registry https://mirrors.huaweicloud.com/repository/npm/


nrm(npm registry manager)是 npm 的镜像源管理工具,使用它可以快速切换 npm 镜像源。

  1. 首先,使用 npm install nrm -g 命令全局安装 nrm,安装完成之后,可以使用 nrm -v 命令查看是否安装成功,如下所示:
  2. 使用 nrm ls 命令查看所有支持的镜像源列表以及当前正在使用的镜像源,如下所示:
  3. 使用 nrm use xxx 命令可以选择需要切换的镜像源,如切换到华为镜像源,切换成功后会提示 "The registry has been changed to 'xxx'"。
  4. 使用 nrm test 命令可以测试镜像源速度。