nvm 的安装与使用(详细教程)

文章目录

  • 一、简介
  • 二、安装前准备
    • [2.1 系统要求](#2.1 系统要求)
    • [2.2 卸载已有的 Node.js](#2.2 卸载已有的 Node.js)
    • [2.3 说明](#2.3 说明)
  • [三、下载 NVM](#三、下载 NVM)
  • [四、安装 NVM](#四、安装 NVM)
    • [4.1 安装包安装(nvm-setup.exe)--- 推荐](#4.1 安装包安装(nvm-setup.exe)— 推荐)
    • [4.2 免安装版(nvm-noinstall.zip)](#4.2 免安装版(nvm-noinstall.zip))
  • 五、验证安装
  • [六、使用 NVM 管理 Node.js](#六、使用 NVM 管理 Node.js)
    • [6.1 查看可用版本](#6.1 查看可用版本)
    • [6.2 安装 Node.js](#6.2 安装 Node.js)
    • [6.3 查看已安装版本](#6.3 查看已安装版本)
    • [6.4 切换版本](#6.4 切换版本)
    • [6.5 卸载版本](#6.5 卸载版本)
  • [七、常用 NVM 命令速查表](#七、常用 NVM 命令速查表)
  • 八、配置国内镜像源(推荐)
  • 九、常见问题排查
    • [9.1 nvm 命令无法识别](#9.1 nvm 命令无法识别)
    • [9.2 nvm use 切换版本后 node 命令无效](#9.2 nvm use 切换版本后 node 命令无效)
    • [9.3 npm install 报错权限问题](#9.3 npm install 报错权限问题)
    • [9.4 安装 Node.js 速度很慢](#9.4 安装 Node.js 速度很慢)

一、简介

官网:https://github.com/coreybutler/nvm-windows

NVMN ode V ersion M anager)是一个用于管理多个 Node.js 版本的命令行工具。在实际开发中,不同的项目可能依赖不同版本的 Node.js------比如老项目还在用 Node 14,而新项目已经用上了 Node 20。如果每次都要手动卸载和重装 Node.js,既繁琐又容易出错。

NVM 可以让开发者在同一台机器上轻松安装、切换和管理多个 Node.js 版本,极大提升了开发效率。

NVM 的主要特点和用途包括:

  1. 多版本共存 :可以在同一台机器上安装多个 Node.js 版本,按需切换,互不干扰。

  2. 快速切换 :通过一条命令即可在不同 Node.js 版本之间切换,无需重新安装。

  3. 统一管理 :集中管理所有已安装的 Node.js 版本,方便查看、安装和卸载。

  4. 项目适配 :不同项目可以使用不同版本的 Node.js,避免因版本不兼容导致的运行错误。

  5. 轻量便捷 :安装简单,占用资源极少,是 Node.js 开发者的必备工具。

说明NVM 最初是为 Linux/macOS 设计的(https://github.com/nvm-sh/nvm)。本文介绍的是 nvm-windows ,即由 coreybutler 开发的 Windows 版本(https://github.com/coreybutler/nvm-windows),两者命令基本一致,但安装方式有所不同。


二、安装前准备

2.1 系统要求

在安装 NVM 之前,请确认你的 Windows 系统满足以下要求:

要求项 最低配置
操作系统 Windows 7 / Windows Server 2008 R2 及以上
系统架构 64 位(推荐)
内存 512 MB 可用内存
磁盘空间 至少 50 MB 可用空间(不含 Node.js 安装空间)

2.2 卸载已有的 Node.js

如果你的电脑上已经通过官方安装包(.msi)安装了 Node.js必须先卸载 ,否则会与 NVM 管理的版本产生冲突。

卸载步骤:

  1. 打开 控制面板程序和功能(或 设置应用),或者按下 Win + R 键,输入 appwiz.cpl 并回车,可直接打开 程序和功能 窗口
  1. 找到 Node.js,右键选择 卸载
  1. 卸载完成后,检查并删除以下目录(如果存在):
    • C:\Program Files\nodejs
    • C:\Users\<用户名>\AppData\Roaming\npm
    • C:\Users\<用户名>\AppData\Roaming\npm-cache

提示 :可以先在 CMD 中执行 node -v,如果提示 'node' 不是内部或外部命令,说明旧版 Node.js 已经卸载干净了。

2.3 说明

  • nvm-windows 安装后会自动接管 Node.js 的版本管理,通过 nvm install 安装的 Node.js 会自动配置好 PATH 环境变量。
  • 安装 nvm-windows 之前,建议关闭所有已打开的 CMD / PowerShell / 终端 窗口,安装完成后重新打开,以确保环境变量生效。

三、下载 NVM

下载地址

nvm-windows 托管在 GitHub 上:

打开上述链接后,点击 Releases 进入版本发布页面,nvm-windows 提供两种安装方式:

根据自己的偏好,选择对应的版本或者安装方式。

注意: 这里不建议安装 1.2.2 版本的 mvn,因为 1.2.2 版本在处理 Node.js 18 以下版本的 npm 下载和解压时,出现了路径逻辑错误。

简单来说,nvm 在安装 Node.js 时,会先将 npm 下载到一个临时文件夹,再解压到目标位置。但在 1.2.2 版本中,这个过程出现了错乱:npm 被下载到了一个临时目录(例如 nvm-install-xxx\temp),但 nvm 却去另一个临时目录(例如 nvm-npm-xxx)寻找并解压这个文件。因为文件并不在它寻找的位置,所以最终报错"The system cannot find the file specified."。

这个问题很普遍,Node.js 16 及更低版本的安装都会受影响,而 Node.js 18 及以上版本则可以正常安装,所以我建议选择稳定的 1.1.12 版本


四、安装 NVM

4.1 安装包安装(nvm-setup.exe)--- 推荐

下载 nvm-setup.exe 安装包。

双击安装包运行,进入安装向导:

勾选 I accept the agreement 点击 Next

选择 NVM 的安装目录(例如:D:\dev\nvm),点击 Next

提示 :建议将 NVM 安装到非系统盘(如 D 盘),避免后续因权限问题导致安装 Node.js 失败。

选择 Node.js 的安装目录(即 symlink 目录,例如:D:\dev\node),点击 Next

注意 :该目录由 NVM 自动管理,是一个符号链接(symlink),指向当前使用的 Node.js 版本,请勿手动修改该目录下的内容

点击 Install,等待安装完成。

安装完成,点击 Finish

提示 :安装过程中,nvm-setup.exe 会自动配置以下系统环境变量,无需手动操作:

环境变量 说明 示例值
NVM_HOME NVM 的安装目录 D:\dev\nvm
NVM_SYMLINK Node.js 的符号链接目录 D:\dev\node
Path(追加) 追加 %NVM_HOME%%NVM_SYMLINK% ---

至此安装结束。


4.2 免安装版(nvm-noinstall.zip)

下载 nvm-noinstall.zip 压缩包,解压到你希望安装的目录(例如:D:\dev\nvm)。

解压后的目录结构如下:

文件 说明
nvm.exe NVM 主程序
settings.txt NVM 配置文件
elevate.cmd 提权脚本
nodejs Node.js 符号链接目录(安装后生成)

解压完成后需要手动配置环境变量

操作步骤:

  1. 右键 此电脑(我的电脑)属性高级系统设置环境变量

  2. 系统变量 中新建两个变量:

    变量名 变量值 说明
    NVM_HOME D:\dev\nvm\nvm NVM 的安装目录
    NVM_SYMLINK D:\dev\node Node.js 符号链接目录

    注意: NVM_SYMLINK 配置的文件夹必须存在,如果没有需要创建,且该文件夹必须是个空文件夹

  3. 系统变量 中找到 Path,选中后点击 编辑,新增以下两条路径:

    • %NVM_HOME%
    • %NVM_SYMLINK%

  4. 然后一路点击 确定 进行保存

  5. NVM 安装目录下,编辑 settings.txt 文件(如果这个文件不存在,则自己创建即可):

    text 复制代码
    root: D:\dev\nvm\nvm
    path: D:\dev\node
    arch: 64
    proxy: none
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/

    各字段说明:

    字段 说明
    root NVM 的安装目录
    path Node.js 符号链接目录(与 NVM_SYMLINK 一致)
    arch 系统架构,64 表示 64 位
    proxy 代理设置,无代理填 none
    node_mirror Node.js 下载镜像源(建议配置国内镜像加速下载)
    npm_mirror npm 下载镜像源
  6. 配置完成后,关闭所有已打开的 CMD 窗口,重新打开一个新的 CMD 窗口使环境变量生效。


五、验证安装

安装完成后,打开 CMD 命令窗口(Win + R 输入 cmd),执行以下命令验证安装是否成功:

bash 复制代码
nvm version
# 或者
nvm -v

如果输出版本号(例如:1.2.2),说明 NVM 安装成功。

提示 :如果提示 'nvm' 不是内部或外部命令,请检查环境变量是否正确配置,并重新打开 CMD 窗口再试。


六、使用 NVM 管理 Node.js

6.1 查看可用版本

查看远程仓库中可安装的 Node.js 版本列表:

bash 复制代码
nvm list available

该命令会列出 LTS(长期支持版)和 Current(最新发行版)的各版本信息。

说明LTS(Long Term Support)是长期支持版本,稳定性更好,适合生产环境使用;Current 是最新发行版,包含最新特性,适合尝鲜和学习使用。一般推荐使用 LTS 版本

6.2 安装 Node.js

安装指定版本的 Node.js

bash 复制代码
nvm install 20.18.0

安装最新的 LTS 版本:

bash 复制代码
nvm install lts

安装最新版本:

bash 复制代码
nvm install latest

提示 :安装过程会自动下载 Node.js 并配置到 NVM_SYMLINK 指定的目录中。如果下载速度较慢,建议先配置国内镜像源(参见第八章)。

6.3 查看已安装版本

查看本机已安装的所有 Node.js 版本:

bash 复制代码
nvm list

当前正在使用的版本会以 * 号标记,输出示例:

text 复制代码
  * 20.18.0 (Currently using 64-bit executable)
    18.20.4
    16.20.2

6.4 切换版本

切换到指定版本的 Node.js

bash 复制代码
nvm use 20.18.0

切换完成后,可以验证当前版本:

bash 复制代码
node -v
npm -v

提示 :切换版本后,nodenpm 命令会自动指向对应的版本,无需额外配置。如果遇到权限问题,请以管理员身份 运行 CMD 后再执行。

6.5 卸载版本

卸载不再需要的 Node.js 版本:

bash 复制代码
nvm uninstall 18.20.4

注意:不能卸载当前正在使用的版本,需要先切换到其他版本后再卸载。


七、常用 NVM 命令速查表

以下是在 Windows 下使用 NVM 管理 Node.js 的常用命令:

操作 命令 说明
查看 NVM 版本 nvm version 查看当前 NVM 的版本
查看可安装版本 nvm list available 列出远程仓库中可用的 Node.js 版本
安装指定版本 nvm install <version> 安装指定版本的 Node.js
安装 LTS 版本 nvm install lts 安装最新的 LTS 版本
安装最新版本 nvm install latest 安装最新版本
查看已安装版本 nvm list 查看本机已安装的所有版本
切换版本 nvm use <version> 切换到指定版本的 Node.js
卸载版本 nvm uninstall <version> 卸载指定版本的 Node.js
查看 Node.js 版本 node -v 查看当前使用的 Node.js 版本
查看 npm 版本 npm -v 查看当前使用的 npm 版本
开启 NVM nvm on 启用 NVM
关闭 NVM nvm off 禁用 NVM

提示nvm on / nvm off 仅在 Windows 版本的 NVM 中可用,用于临时启用或禁用 NVM 的版本管理功能。


八、配置国内镜像源(推荐)

由于 Node.js 官方源在国内访问较慢,建议配置国内镜像源以加速下载。

编辑 NVM 安装目录下的 settings.txt 文件(例如:D:\dev\nvm\settings.txt),添加或修改以下配置:

text 复制代码
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

说明 :以上使用的是阿里巴巴提供的 npmmirror 镜像源,是国内最稳定、最常用的 Node.js 镜像。

如果 settings.txt 中已有内容,只需在末尾追加上述两行即可,完整示例:

text 复制代码
root: D:\dev\nvm
path: D:\dev\nodejs
arch: 64
proxy: none
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

配置完成后,再次执行 nvm install 命令即可体验高速下载。


九、常见问题排查

9.1 nvm 命令无法识别

执行 nvm 命令时提示 'nvm' 不是内部或外部命令

可能原因及解决方案:

  1. 环境变量未配置 :检查系统变量中是否已正确配置 NVM_HOME

    bash 复制代码
    echo %NVM_HOME%

    如果输出为空,说明环境变量未配置,请参照第四章的安装步骤重新配置。

  2. Path 未更新 :检查 Path 中是否包含 %NVM_HOME%%NVM_SYMLINK%

  3. CMD 未重启 :关闭所有 CMD / PowerShell 窗口后重新打开

  4. 免安装版路径错误 :如果是免安装版,确认 settings.txt 中的 rootpath 路径与实际目录一致

9.2 nvm use 切换版本后 node 命令无效

切换版本后,执行 node -v 提示 'node' 不是内部或外部命令

可能原因及解决方案:

  1. 权限不足 :以管理员身份 运行 CMD 后再执行 nvm use

  2. 符号链接未生效 :检查 NVM_SYMLINK 指向的目录是否存在,且已被添加到 Path

    bash 复制代码
    echo %NVM_SYMLINK%
  3. 旧版 Node.js 冲突 :确认没有残留的旧版 Node.js 安装路径与 NVM 的符号链接冲突

  4. NVM_SYMLINK 路径配置问题: 环境变量 NVM_SYMLINK 可能没有正确设置,或者设置的值不符合预期

  5. 目标路径已存在"物理"文件夹: nvm-windows 只能在 NVM_SYMLINK 指向的路径(即 D:\dev\node)不存在任何东西的情况下,才能创建符号链接。

9.3 npm install 报错权限问题

执行 npm install -g 全局安装时提示权限错误:

解决方案:

  • 管理员身份 运行 CMD 后再执行全局安装命令

  • 或修改 npm 全局安装路径到用户目录下:

    bash 复制代码
    npm config set prefix "%APPDATA%\npm"

9.4 安装 Node.js 速度很慢

使用 nvm install 安装 Node.js 时下载速度极慢:

解决方案:

  1. 配置国内镜像源
  2. 检查网络代理设置,在 settings.txt 中配置 proxy
  3. 如果公司网络有限制,可联系网络管理员开放 npmmirror.com 的访问权限

参考文献:

NVM-Windows GitHub 仓库:https://github.com/coreybutler/nvm-windows

NVM(Linux/macOS)GitHub 仓库:https://github.com/nvm-sh/nvm

Node.js 官方网站:https://nodejs.org/

npmmirror 中国镜像:https://npmmirror.com/

相关推荐
小葛要努力22 天前
安装nvm 管理node.js版本实现vue2和vue3项目共存
node.js·vue·nvm
春波petal1 个月前
Mac nvm 永久固定 Node 版本(新开终端自动生效)
macos·nvm
linksinke1 个月前
Node.js 版本管理管理器的使用注意 - NVM
node.js·nvm·node多版本·node切换
liu_bees2 个月前
nvm 极简教程:告别Node版本冲突!Windows下一键切换Node.js版本nvm安装与常用命令
windows·node.js·nvm
TechExplorer3652 个月前
Node.js安装及配置_基于NVM管理Node版本
nodejs·nvm
北暮城南2 个月前
使用 nvm 安装与管理多版本 Node.js(Windows)
windows·npm·node.js·nvm
不会写程序的未来程序员3 个月前
nvm 安装教程:Node.js 版本管理全攻略 (Win/Mac/Linux) + .nvmrc 实战
linux·macos·node.js·前端开发·环境配置·nvm
学习3人组3 个月前
windows系统下nvm的安装
node.js·nvm
枫桥骤雨3 个月前
Ubuntu NVM部署Node.js教程
linux·ubuntu·node.js·nvm