基于nvm安装管理多个node.js版本切换使用(附上详细安装使用图文教程+nvm命令大全)

文章目录

  • 一、前言
  • 二、nvm介绍
    • [2.1 nvm是什么?](#2.1 nvm是什么?)
    • [2.2 下载nvm](#2.2 下载nvm)
    • [2.3 安装nvm](#2.3 安装nvm)
  • 三、nvm基本使用
    • [3.1 nvm切换国内镜像](#3.1 nvm切换国内镜像)
    • [3.2 node.js版本选择](#3.2 node.js版本选择)
    • [3.3 node.js主要历史版本表](#3.3 node.js主要历史版本表)
    • [3.4 安装最新版本node.js](#3.4 安装最新版本node.js)
    • [3.5 安装指定版本node.js](#3.5 安装指定版本node.js)
    • [3.6 查看已安装版本](#3.6 查看已安装版本)
    • [3.7 切换node版本](#3.7 切换node版本)
  • 四、nvm命令大全
    • [4.1 基础信息与帮助命令](#4.1 基础信息与帮助命令)
    • [4.2 版本列表与查询命令](#4.2 版本列表与查询命令)
    • [4.3 Node.js 安装与卸载命令](#4.3 Node.js 安装与卸载命令)
    • [4.4 版本切换与优先级命令](#4.4 版本切换与优先级命令)
    • [4.5 版本别名管理命令](#4.5 版本别名管理命令)
    • [4.6 路径与缓存命令](#4.6 路径与缓存命令)
    • [4.7 其他高级命令](#4.7 其他高级命令)
    • [4.8 nvm-windows 差异说明](#4.8 nvm-windows 差异说明)

一、前言

在前端开发过程中,我们常会接触各类项目,其中一些项目因所依赖的 Node.js 版本存在差异,当开发人员使用了不匹配的版本时,就可能出现各种报错或警告,严重时甚至会导致项目无法正常启动运行,本文将教大家如何使用nvm安装管理多个node.js版本切换使用。

二、nvm介绍

2.1 nvm是什么?

nvm(Node Version Manager)是一款专门用于管理 Node.js 版本的命令行工具,主要解决因不同项目依赖不同 Node.js 版本而导致的开发环境兼容问题。

其核心功能包括:

  • 快速安装多个 Node.js 版本(支持指定版本号精确安装)
  • 在不同版本间灵活切换(可全局切换默认版本,也可针对单个项目设置专属版本)
  • 一键管理已安装的版本(查看、卸载等)

2.2 下载nvm

1、打开nvm官网:https://nvm.uihtm.com/

2、选择操作系统:window、Linux、mac

3、选择版本号:

2.3 安装nvm

1、解压安装包后,双击打开exe程序

2、选择第一个,点击next:

3、选择nvm安装路径:

4、选择nodejs路径:

5、默认全部勾选上:

6、直接点击next:

7、点击install确定安装:

8、取消勾选,然后点击Finsh:

9、打开CMD面板,输入命令 nvm ,安装成功则如下显示:

三、nvm基本使用

3.1 nvm切换国内镜像

阿里云镜像:

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

腾讯云镜像:

html 复制代码
nvm npm_mirror http://mirrors.cloud.tencent.com/npm/
nvm node_mirror http://mirrors.cloud.tencent.com/nodejs-release/

没有报错代表设置成功:

如果代码设置失败,可以在 nvm 的安装路径下,找到 settings.txt 文件中复制进去然后保存。

3.2 node.js版本选择

显示可下载版本的部分列表

html 复制代码
nvm list available 

表格中的列分别代表不同类型的 Node.js 版本:

  • CURRENT:当前最新的稳定版本,包含最新特性
  • LTS:长期支持版本(Long Term Support),适合生产环境,会获得较长时间的维护和更新
  • OLD STABLE:旧的稳定版本
  • OLD UNSTABLE:旧的不稳定版本(早期 Node.js 版本区分稳定与不稳定分支,现在已不采用这种方式)

例如:

  • 最新的当前版本是 24.6.0
  • 最新的 LTS 版本是 22.18.0
  • 最旧的列表版本可以追溯到 0.9.x 和 0.10.x 等非常早期的 Node.js 版本

命令下方提示这只是部分列表,完整版本列表可以访问 Node.js 官网:

如何选择合适的版本?

  • 生产环境:选择最新的LTS版本,因为它稳定且长期支持。

  • 开发环境:可以尝试CURRENT版本,体验最新特性。

  • 避免使用:OLD STABLEO 和 OLD UNSTABLE 版本,因为它们不再维护。

3.3 node.js主要历史版本表

说明:LTS状态标注为"是",代表当前版本处于Active LTS(活跃长期支持)Maintenance LTS(维护长期支持) 阶段;标注为"否",代表版本已进入End-of-life(生命周期结束,停止官方维护) 或未进入LTS阶段(如Current版本)

Node.js 版本号 发布时间 主要特性 LTS 状态 LTS 截止日期
v24.0.0 2025年5月6日 V8引擎升级到13.6版本,支持Float16Array、显式资源管理;npm升级至11;URLPattern成全局对象 未到LTS阶段
v22.0.0 2024年4月24日 支持实验性Transform Types;默认启用模块语法检测;Buffer性能优化 未公布
v20.0.0 2023年4月18日 优化诊断工具、流处理;提升内置安全功能 2026年4月
v18.0.0 2022年4月19日 支持Web Streams API、fetch API;增强国际化能力 2025年4月30日
v16.0.0 2021年4月20日 V8引擎升级;提升国际化功能;增强HTTP/2性能 2024年4月
v14.0.0 2020年4月21日 提升V8引擎性能;增强流处理和诊断工具功能 2023年4月30日
v12.0.0 2019年4月23日 原生支持ES模块(ESM);改进诊断报告功能 2022年4月30日
v10.0.0 2018年4月24日 支持ES模块.mjs实验;优化异步迭代器性能 2021年4月6日
v8.0.0 2017年5月30日 支持HTTP/2;支持async/await语法;提升异步编程简洁性 2019年12月17日

3.4 安装最新版本node.js

安装最新版本:

html 复制代码
nvm install latest

3.5 安装指定版本node.js

使用 nvm install + 版本号 命令来安装表格中的任何版本,例如:

html 复制代码
nvm install 19.0.0

3.6 查看已安装版本

查看目前已经安装的版本:

html 复制代码
nvm list
nvm ls

3.7 切换node版本

使用指定版本的node.js :

html 复制代码
nvm use + 版本号 

查看当前使用的node.js版本:

html 复制代码
node -v

这时输入nvm list发现在启用的 node 版本前面有 * 标记,这时就可以使用 node.js:

四、nvm命令大全

以下是 nvm(Node Version Manager)的完整命令大全,涵盖所有可用命令及详细说明,适用于 macOS/Linux 系统(nvm-windows 命令略有差异,差异点会特别标注):

4.1 基础信息与帮助命令

命令 功能描述
nvm --version 显示当前 nvm 的版本号
nvm help 列出所有 nvm 命令及详细用法(最权威的查询方式)
nvm --help nvm help,显示命令帮助

4.2 版本列表与查询命令

命令 功能描述
nvm ls 列出本地已安装的所有 Node.js 版本,当前使用版本会标 ->,默认版本标 default
nvm ls <版本号> 检查指定版本是否已安装(如 nvm ls 20.10.0
nvm ls-remote 列出远程仓库中所有可安装的 Node.js 版本(包括 LTS 和 Current 版本)
nvm ls-remote --lts 仅列出远程仓库中所有 LTS 版本
nvm ls-remote <版本前缀> 过滤显示指定前缀的版本(如 nvm ls-remote v18 只显示 v18.x 系列)
nvm current 显示当前终端正在使用的 Node.js 版本

4.3 Node.js 安装与卸载命令

命令 功能描述
nvm install <版本号> 安装指定版本的 Node.js(版本号可精确到 patch 级,如 nvm install 20.10.0
nvm install lts 安装最新的 LTS(长期支持)版本
nvm install lts/<代号> 安装指定代号的 LTS 版本(如 nvm install lts/iron 安装 v20 系列,Iron 是 v20 代号)
nvm install latest 安装最新的 Current 版本(非 LTS,通常为奇数版本)
nvm install node nvm install latest,安装最新的 Current 版本
nvm install <版本号> --reinstall-packages-from=<旧版本> 安装新版本时,自动迁移旧版本的全局 npm 包(如 nvm install 20 --reinstall-packages-from=18
nvm install <版本号> --skip-default-packages 安装版本时,不自动安装 .nvm/default-packages 中指定的默认包
nvm uninstall <版本号> 卸载指定的 Node.js 版本(如 nvm uninstall 16.20.2

4.4 版本切换与优先级命令

命令 功能描述
nvm use <版本号> 切换到指定版本(仅当前终端生效,如 nvm use 20
nvm use lts 切换到最新的 LTS 版本(当前终端生效)
nvm use lts/<代号> 切换到指定代号的 LTS 版本(如 nvm use lts/gallium 切换到 v16 系列)
nvm use node 切换到最新的 Current 版本(当前终端生效)
nvm alias default <版本号> 设置全局默认版本(新终端打开时自动使用该版本,如 nvm alias default 20.10.0
nvm alias default lts 将最新 LTS 版本设为默认版本
nvm use default 切换到全局默认版本(当前终端生效)

4.5 版本别名管理命令

命令 功能描述
nvm alias <别名> <版本号> 给指定版本设置自定义别名(如 nvm alias proj1 18.18.0,后续可通过 nvm use proj1 切换)
nvm alias 列出所有已设置的别名(包括系统默认别名如 lts/*node 等)
nvm unalias <别名> 删除指定的自定义别名(如 nvm unalias proj1

4.6 路径与缓存命令

命令 功能描述
nvm which <版本号> 显示指定版本 Node.js 的安装路径(如 nvm which 20 输出 /Users/xxx/.nvm/versions/node/v20.10.0/bin/node
nvm cache dir 显示 nvm 缓存目录路径(用于存储下载的 Node.js 安装包)
nvm cache clear 清空 nvm 缓存目录(删除所有已下载的安装包)

4.7 其他高级命令

命令 功能描述
nvm run <版本号> <脚本> 用指定版本的 Node.js 运行某个脚本(如 nvm run 18 app.js
nvm exec <版本号> <命令> 在指定版本环境下执行命令(如 nvm exec 20 npm install
nvm install-test <版本号> 安装指定版本并运行其内置测试(用于验证安装完整性)
nvm get-colors 显示 nvm 输出的颜色配置(用于终端颜色自定义)
nvm set-colors <颜色码> 自定义 nvm 输出的颜色(需遵循特定格式,如 nvm set-colors "yMeBg"

4.8 nvm-windows 差异说明

Windows 系统的 nvm-windows 命令与原生 nvm 略有不同,主要差异点:

  • 列出本地版本:nvm list(替代 nvm ls
  • 列出远程版本:nvm list available(替代 nvm ls-remote
  • 切换版本:nvm use <版本号> 需以管理员权限运行终端
  • nvm cache 相关命令,缓存管理自动处理

所有命令均可通过 nvm help 或官方文档确认最新用法,确保与安装的 nvm 版本匹配。

相关推荐
虾..3 分钟前
Linux 进程状态
linux·运维·服务器
测试者家园5 分钟前
DevOps 到底改变了测试什么?
运维·自动化测试·软件测试·devops·持续测试·智能化测试·软件测试和开发
jiayong231 小时前
多子系统架构下的Nginx部署策略与最佳实践
运维·nginx·系统架构
皮糖小王子2 小时前
Docker打开本地镜像
运维·docker·容器
冴羽2 小时前
涨见识了,Error.cause 让 JavaScript 错误调试更轻松
前端·javascript·node.js
m***D2863 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js
Hello eveybody3 小时前
Node.js环境变量配置实战
node.js
q***61503 小时前
Windows 上彻底卸载 Node.js
windows·node.js
叫致寒吧4 小时前
Nginx基于域名的虚拟主机实操案例
运维·服务器·nginx
施努卡机器视觉5 小时前
SNK施努卡车门自动化安装
运维·自动化