基于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 版本匹配。

相关推荐
人工智能训练师10 分钟前
openEuler系统中如何将docker安装在指定目录
linux·运维·服务器·人工智能·ubuntu
想学c啊啊1 小时前
【Linux】信号(二):Linux原生线程库相关接口
linux·运维·服务器
天波信息技术分享2 小时前
如何平衡电竞酒店和高校宿舍对AI云电竞游戏盒子的不同需求?
运维
AOwhisky2 小时前
7. if 条件语句的知识与实践
linux·运维·云计算·运维开发·shell·选择结构
2501_920047032 小时前
nginx-自制证书实现
运维·windows·nginx·https
2302_799525742 小时前
【ansible】2.实施ansible playbook
linux·运维·ansible
蓝蜂物联网3 小时前
污水处理行业的 “智能革命”:边缘计算网关如何重塑传统运维模式?
运维·物联网·边缘计算
刘一说3 小时前
Win/Linux笔记本合盖不睡眠设置指南
linux·运维·stm32·电脑
狂奔的sherry4 小时前
一会儿能ping通一会ping不通解决方案
运维·网络·单片机·嵌入式硬件