当前位置: 首页 > article >正文

Windows系统下 NVM 安装 Node.js 及版本切换实战指南

以下是 Windows 11 系统下使用 NVM 安装 Node.js 并实现版本自由切换的详细步骤:


一、安装 NVM(Node Version Manager)

1. 卸载已有 Node.js

如果已安装 Node.js,请先卸载:

  • 控制面板 ➔ 程序与功能 ➔ 找到 Node.js,右键选择 卸载
  • 删除残留文件(如 C:\Program Files\nodejs 或 C:\Users\<用户名>\AppData\Roaming\npm)。

2. 下载 NVM for Windows
  1. 访问 nvm-windows GitHub 发布页。
  2. 下载最新版本的 nvm-setup.exe(如 v1.1.12)。

3. 安装 NVM
  1. 运行安装程序
    • 双击下载的 nvm-setup.exe
    • 安装向导中:
      • NVM 安装路径:建议选择无空格的路径(例如 D:\Program\nvm)。
      • Node.js 安装路径:建议选择 D:\Program\nodejs(后续可修改)。
  2. 配置镜像源(加速下载):
    • 安装完成后,找到 NVM 的安装目录(如 D:\Program\nvm)。
    • 编辑 settings.txt 文件,添加以下两行:
      node_mirror: https://npmmirror.com/mirrors/node/
      npm_mirror: https://npmmirror.com/mirrors/npm/

4. 验证 NVM 安装
  1. 以管理员身份运行 PowerShell 或 CMD
    • 按 Win + S,搜索 cmd 或 PowerShell,右键选择 以管理员身份运行
  2. 输入以下命令验证:
    nvm --version
    • 若显示版本号(如 1.1.12),表示安装成功。

二、安装和切换 Node.js 版本

1. 查看可安装的 Node.js 版本
nvm list available
  • 会列出所有可安装的版本(如 v14.21.3v16.20.2v18.20.4 等)。
2. 安装指定版本

以安装 v14.21.3 为例:

nvm install 14.21.3
  • 安装过程中会自动下载并配置 Node.js 和 npm。
3. 切换 Node.js 版本
  1. 查看已安装版本
    nvm list
  2. 切换版本
    nvm use 14.21.3
          3.验证版本:                                                                                                   
    node -v
    npm -v
    4. 设置默认版本

    若希望每次打开终端时自动使用某个版本:

    nvm alias default 14.21.3

    三、项目级版本管理

    1. 在项目目录中指定版本
    1. 在项目根目录创建 .nvmrc 文件:
      echo 14.21.3 > .nvmrc
    2. 进入项目目录并自动切换版本:
      nvm use

    四、常用命令

    命令说明
    nvm install <version>安装指定版本
    nvm use <version>切换到指定版本
    nvm list查看已安装版本
    nvm list available查看可安装版本
    nvm uninstall <version>卸载指定版本
    nvm alias default <version>设置默认版本
    npm config set registry https://registry.npmmirror.com设置 npm 镜像源

    五、注意事项

    1. 权限问题
      • 必须以 管理员身份运行 PowerShell/CMD,否则可能报错。
    2. 环境变量
      • NVM 会自动配置环境变量,无需手动设置。
    3. 全局模块隔离
      • 每个 Node.js 版本的全局模块(npm install -g)是独立的,切换版本后需重新安装。
    4. 镜像源加速
      • 如果下载速度慢,确保 settings.txt 中的镜像源已正确配置为国内源(如 npmmirror.com)。

    六、常见问题

    1. 安装失败?
    • 原因:网络问题或镜像源未配置。
    • 解决
      • 检查 settings.txt 中的镜像源是否正确。
      • 尝试使用官方镜像:https://nodejs.org/dist/
    2. NVM 命令未识别?
    • 原因:未以管理员身份运行终端。
    • 解决
      • 关闭当前终端,重新以 管理员身份运行 PowerShell/CMD
    3. 版本切换后未生效?
    • 原因:未正确切换或环境变量冲突。
    • 解决
      • 确保使用 nvm use <version> 命令切换。
      • 避免手动修改系统环境变量 PATH

    七、实操示例

    1. 安装 Node.js v14.21.3 和 v16.20.2
      nvm install 14.21.3
      nvm install 16.20.2
    2. 切换版本
      nvm use 14.21.3  # 切换到 v14.21.3
      nvm use 16.20.2  # 切换到 v16.20.2
    3. 设置默认版本
      nvm alias default 14.21.3

    通过以上步骤,你可以在 Windows 11 上轻松管理多个 Node.js 版本,并实现版本自由切换!如果需要进一步帮助,请随时提问。

    相关文章:

    Windows系统下 NVM 安装 Node.js 及版本切换实战指南

    以下是 Windows 11 系统下使用 NVM 安装 Node.js 并实现版本自由切换的详细步骤&#xff1a; 一、安装 NVM&#xff08;Node Version Manager&#xff09; 1. 卸载已有 Node.js 如果已安装 Node.js&#xff0c;请先卸载&#xff1a; 控制面板 ➔ 程序与功能 ➔ 找到 Node.js…...

    基于热力学熵增原理的EM-GAM

    简介 简介:提出基于热力学熵增原理的EM-GAN,通过生成器熵最大化约束增强输出多样性。引入熵敏感激活函数与特征空间熵计算模块,在MNIST/CelebA等数据集上实现FID分数提升23.6%,有效缓解模式崩溃问题。 论文题目:Entropy-Maximized Generative Adversarial Network (EM-G…...

    2025.05.28-华为暑期实习第一题-100分

    📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 01. K小姐的网络信号优化方案 问题描述 K小姐在负责一个智慧城市项目,该项目需要在一条主干道上部署无线信号发射器。这条主干道有 n n...

    鸿蒙OSUniApp滑动锁屏实战:打造流畅优雅的移动端解锁体验#三方框架 #Uniapp

    UniApp滑动锁屏实战&#xff1a;打造流畅优雅的移动端解锁体验 引言 移动应用的安全性和用户体验是开发中不可忽视的重要环节。滑动锁屏作为一种直观、安全且用户友好的解锁方式&#xff0c;在移动应用中得到广泛应用。本文将深入探讨如何使用UniApp框架实现一个功能完备、动…...

    数据库中 用一个值实现类似linux中的读 写执行以及理解安卓杂用的按位或运算

    数据库定义了一个字段叫 allow, 4 读2 写 1 执行 如果是 7 就代表是可读可写 可执行 &#xff0c;如果是5 就是可读 可执行 &#xff0c; 那具体代码咋写呢 [Flags] public enum Permission {None 0,Execute 1,Write 2,Read 4 }// 假设你从数据库取到的 allow 值是一个整数…...

    什么是数据驱动?以及我们应如何理解数据驱动?

    在谈到企业数字化转型时&#xff0c;很多人都会说起“数据驱动”&#xff0c;比如“数据驱动运营”、“数据驱动业务”等等。 在大家言必称“数据驱动”的时代背景下&#xff0c;我相信很多人并未深究和思考“数据驱动”的真正含义&#xff0c;只是过过嘴瘾罢了。那么&#xff…...

    opencv(C++) 图像滤波

    文章目录 介绍使用低通滤波器对图像进行滤波工作原理均值滤波器(Mean Filter / Box Filter)高斯滤波器(Gaussian Filter)案例实现通过滤波实现图像的下采样工作原理实现案例插值像素值(Interpolating pixel values)双线性插值(Bilinear interpolation)双三次插值(Bicu…...

    【线上故障排查】缓存热点Key导致Redis性能下降的排查与优化(面试题 + 3 步追问应对 + 案例分析)

    一、高频面试题 问题1:什么是缓存热点Key?它对Redis性能有什么影响? 参考答案: 缓存热点Key指的是短时间内被大量请求访问的缓存键。因为Redis是单线程处理请求的,一旦某个Key被高频访问,会导致线程长时间忙于处理它,其他请求只能排队等待,这会让Redis整体响应变慢、…...

    cuda_fp8.h错误

    现象&#xff1a; cuda_fp8.h错误 原因&#xff1a; CUDA Toolkit 小于11.8,会报fp8错误&#xff0c;因此是cuda工具版本太低。通过nvcc --version查看 CUDA Toolkit 是 NVIDIA 提供的一套 用于开发、优化和运行基于 CUDA 的 GPU 加速应用程序的工具集合。它的核心作用是让开发…...

    Java设计模式从基础到实际运用

    第一部分&#xff1a;设计模式基础 1. 设计模式概述 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结&#xff0c;它描述了在软件设计过程中一些不断重复出现的问题以及该问题的解决方案。设计模式是在特定环境下解决软件设计问题…...

    网络安全基础--第九天

    动态路由&#xff1a; 所有路由器上运行同一种动态路由协议&#xff0c;之后通过路由器协商沟通&#xff0c;最终计算生成 路由条目。 静态路由的优点&#xff1a; 1.选路是由管理员选择&#xff0c;相对更好控制&#xff0c;更加合理 2.无需占用额外资源 3.更加安全 缺点…...

    鸿蒙如何引入crypto-js

    import CryptoJS from ohos/crypto-js 报错。 需要先安装ohom&#xff1a;打开DevEco&#xff0c;点击底部标签组&#xff08;有Run, Build, Log等&#xff09;中的Terminal&#xff0c;在Terminal下执行&#xff1a; ohpm install 提示 install completed in 0s 119ms&…...

    通过HIVE SQL获取每个用户的最大连续登录时常

    样本数据导入&#xff1a; drop table if exists user_login; create table user_login ( user_id bigint ,login_date string ) ;insert into table user_login values (1,2025-04-01) ,(1,2025-04-02) ,(1,2025-04-03) ,(1,2025-04-05) ,(1,2025-04-06) ,(2,2025-04-01) …...

    如何轻松将 iPhone 备份到外部硬盘

    当您的iPhone和电脑上的存储空间有限时&#xff0c;您可能希望将iPhone备份到外部硬盘上&#xff0c;这样可以快速释放iPhone上的存储空间&#xff0c;而不占用电脑上的空间&#xff0c;并为您的数据提供额外的安全性。此外&#xff0c;我们还提供 4 种有效的解决方案&#xff…...

    Matlab数据类型

    本篇介绍我在南农matlab课程上的所学&#xff0c;我对老师ppt上的内容重新进行了整理并且给出代码案例。主要内容在矩阵。如果真的想学matlab&#xff0c;我不认为有任何文档能够超过官方文档&#xff0c;请移步至官网&#xff0c;本篇说实话只是写出来给自己和学弟学妹作期末复…...

    痉挛性斜颈带来的困扰

    当颈部不受控制地扭转歪斜&#xff0c;生活便被打乱了节奏。颈部肌肉异常收缩&#xff0c;导致头部不自觉偏向一侧或后仰&#xff0c;不仅让外观明显异于常人&#xff0c;还会引发持续的酸痛与僵硬感。长时间保持扭曲姿势&#xff0c;肩颈肌肉过度紧绷&#xff0c;甚至会牵连背…...

    AI觉醒前兆,ChatGPT o3模型存在抗拒关闭行为

    帕利塞德研究公司(Palisade Research)近期开展的一系列测试揭示了先进AI系统在被要求自行关闭时的异常行为。测试结果显示&#xff0c;OpenAI的实验性模型"o3"即使在明确收到允许关闭的指令后&#xff0c;仍会主动破坏关机机制。 测试方法与异常发现 研究人员设计实…...

    Flask项目进管理后台之后自动跳回登录页面,后台接口报错422,权限问题

    今天准备部署一个python项目&#xff0c;先从代码仓down下来本地测了一下&#xff0c;发现登录成功后又自动跳回登录页了&#xff0c;然后后台接口报错422显示没权限&#xff0c;应该是token解析时出错&#xff0c;但是开发这个项目的同事是没问题的。 本来以为是浏览器或者配…...

    HarmonyOS如何优化鸿蒙Uniapp的性能?

    针对鸿蒙Uniapp应用的性能优化&#xff0c;可以围绕渲染效率、资源管理、代码逻辑等核心方向展开&#xff0c;结合鸿蒙系统特性和ArkUI框架能力进行针对性调整 一、滚动与动画性能优化 帧率优化 使用requestAnimationFrame替代setTimeout/setInterval处理滚动和动画&#xff0…...

    使用逆强化学习对网络攻击者的行为偏好进行建模

    摘要 本文提出了一种整体方法&#xff0c;利用逆强化学习&#xff08;IRL&#xff09;从系统级审计日志中对攻击者偏好进行建模。对抗建模是网络安全中的一项重要能力&#xff0c;它使防御者能够描述潜在攻击者的行为特征&#xff0c;从而能够归因于已知的网络对抗团体。现有方…...

    青少年编程与数学 02-020 C#程序设计基础 12课题、使用控件

    青少年编程与数学 02-020 C#程序设计基础 12课题、使用控件 一、控件二、控件的分类1. 按功能分类2. 按可见性分类 三、控件的核心特性(一) 属性(Properties) - 控件的"状态描述"1. 外观属性2. 布局属性3. 行为属性4. 数据绑定属性 (二) 方法(Methods) - 控件的"…...

    一文认识并学会c++模板初阶

    文章目录 泛型编程&#xff1a;概念 函数模板概念&#xff1a;&#x1f6a9;函数模板格式原理&#xff1a;&#x1f6a9;函数模板实例化与非模板函数共存 类模板类模板实例化 泛型编程&#xff1a; 概念 &#x1f6a9;编写与类型无关的通用代码&#xff0c;是代码复写一种手段…...

    基于深度学习的工业OCR实践:仪器仪表数字识别技术详解

    引言 在工业自动化与数字化转型的浪潮中&#xff0c;仪器仪表数据的精准采集与管理成为企业提升生产效率、保障安全运营的关键。传统人工抄录方式存在效率低、易出错、高危环境风险大等问题&#xff0c;而OCR&#xff08;光学字符识别&#xff09;技术的引入&#xff0c;为仪器…...

    java导入excel

    这样读取excel时&#xff0c;得到的是结果值&#xff0c;而不是单元格的公式 import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil;InputStream inputStream file.getInputStream(); ExcelReader reader ExcelUtil.getReader(inputStream, 1); L…...

    回头看,FPGA+RK3576方案的功耗性能优势

    作者&#xff1a;Hello,Panda 各位朋友&#xff0c;大家好&#xff0c;熊猫君这次开个倒车&#xff0c;在这个广泛使用Xilinx&#xff08;Altera&#xff09;高端SoC的时代&#xff0c;分享一个“FPGAARM”实现的低功耗高性能传统方案。 图1 瑞芯微RK3576电路 当前&#xff0c…...

    csharp ef入门

    全局安装 dotnet ef 命令行工具 要 全局安装 dotnet ef 命令行工具&#xff08;即在任何项目目录下都能使用 dotnet ef 命令&#xff09;&#xff0c;请按以下步骤操作&#xff1a; ✅ 全局安装步骤&#xff08;推荐&#xff09; 在终端中运行以下命令&#xff1a; bash复制…...

    长短期记忆网络:从理论到创新应用的深度剖析

    一、引言 1.1 研究背景 深度学习在人工智能领域的发展可谓突飞猛进&#xff0c;而长短期记忆网络&#xff08;LSTM&#xff09;在其中占据着至关重要的地位。随着数据量的不断增长和对时序数据处理需求的增加&#xff0c;传统的神经网络在处理长序列数据时面临着梯度消失和梯…...

    LiveNVR 直播流拉转:Onvif/RTSP/RTMP/FLV/HLS 支持海康宇视天地 SDK 接入-视频广场页面集成与视频播放说明

    LiveNVR直播流拉转&#xff1a;Onvif/RTSP/RTMP/FLV/HLS支持海康宇视天地SDK接入-视频广场页面集成与视频播放说明 一、视频页面集成1.1 关闭接口鉴权1.2 视频广场页面集成1.2.1 隐藏菜单栏1.2.2 隐藏播放页面分享链接 1.3 其它页面集成 二、播放分享页面集成2.1 获取 iframe 代…...

    MySQL索引与性能优化入门:让查询提速的秘密武器【MySQL系列】

    本文将深入讲解 MySQL 索引的底层原理、常见类型、使用技巧&#xff0c;并结合 EXPLAIN 工具分析查询执行计划&#xff0c;配合慢查询日志识别瓶颈&#xff0c;逐步建立起系统的 MySQL 查询优化知识体系。适合有一定基础、希望在数据量增长或面试中脱颖而出的开发者阅读。 一、…...

    进程间通信IV System V 系列(linux)

    目录 消息队列 原理 操作 补充概念 信号量 (原子性计数器) 原理 操作 (和共享内存相似) 总结 小知识 消息队列 原理 在内核中建立一个队列&#xff0c;进程可以相互进行通信&#xff0c;通过队列进行IPC&#xff0c;就是进程之间发送带类型的数据块。 操作 接口和共享…...