Windows 11 安装使用 nvm,Node.js、npm多版本管理、切换

Windows 11 安装使用 nvm,Node.js、npm多版本管理、切换

文章目录

  • Windows 11 安装使用 nvm,Node.js、npm多版本管理、切换
    • 1. nvm 简介
    • 2. 安装、配置 nvm
      • 2.1. 卸载现有 Node.js(非常重要!)
      • 2.2. 下载 nvm-windows 安装包
      • 2.3. 安装 nvm
      • 2.4. 验证安装
      • 2.5. 配置镜像源
    • 3. Node.js、npm多版本管理、切换
      • 3.1. 查看可安装的版本
      • 3.2. 安装指定版本的 Node.js
      • 3.3. 查看已安装的版本
      • 3.4. 使用/切换到某个版本
      • 3.5. 为 npm 设置国内镜像源
    • 4. 完整用法说明

1. nvm 简介

背景:在日常的前端或Node.js开发中,我们经常会遇到不同的项目需要依赖不同版本的 Node.js 和 npm。直接安装和卸载版本来回切换非常麻烦,而且容易出错。为了解决这个问题,nvm(Node Version Manager) 应运而生。本篇博客将详细介绍如何在 Windows 11 系统上安装、配置和使用 nvm,来轻松管理多个 Node.js 环境

nvm 是一个用于管理多个 Node.js 版本的工具。它的主要功能包括:

  • 版本安装:可以方便地安装多个版本的 Node.js(包括对应的 npm)。
  • 版本切换:可以根据项目需求,在已安装的版本之间快速切换(全局或按目录)。
  • 版本卸载:可以卸载任何不再需要的 Node.js 版本。
  • 兼容性:完美解决不同项目因 Node.js 版本差异导致的兼容性问题。

对于 Windows 用户,我们使用的是 nvm-windows,这是原版 nvm(仅限 Mac/Linux)的一个独立分支项目。

项目地址:https://github.com/coreybutler/nvm-windows

2. 安装、配置 nvm

2.1. 卸载现有 Node.js(非常重要!)

在安装 nvm 之前,强烈建议先彻底卸载系统中已单独安装的 Node.js。否则可能会引起冲突,导致 nvm 无法正常工作。

请通过桌面下方任务栏中点击“开始”按钮(Windows图标)->“设置”(齿轮图标)->“应用”->“安装的应用”,搜索 “Node”,如果有找到,点击右边的三个点,点击“卸载”

2.2. 下载 nvm-windows 安装包

访问 nvm-windows 的项目发布页面 https://github.com/coreybutler/nvm-windows/releases

下载最新的 nvm-setup.exe 文件。

注:

由于 GitHub 在国外,有时访问速度慢甚至无法访问。

如果无法访问GitHub,也可选择国内下载:https://download.csdn.net/download/qq_36462452/91951404

2.3. 安装 nvm

  1. 双击运行下载的 nvm-setup.exe

  2. 选择 ”I accept …“,点击 “Next”

    在这里插入图片描述

  3. 填写 nvm 的安装目录,例如:D:\soft\nvm,点击 “Next”

    在这里插入图片描述

  4. 填写 Node.js 的活动版本位置(此目录将自动添加到系统路径中),例如:D:\soft\nodejs

    在这里插入图片描述

  5. 桌面通知选项,都去除勾选,点击 “Next”

    在这里插入图片描述

  6. 接收通知邮箱,不用填,点击 “Next”

    在这里插入图片描述

  7. 点击 ”Install“,开始安装

    在这里插入图片描述

  8. 去除勾选,点击 “Finish”

    在这里插入图片描述

2.4. 验证安装

桌面右击,点击“在终端中打开”,将打开 PowerShell 终端,输入以下命令:

nvm version

如果正确输出了 nvm 的版本号(例如 1.2.2),则说明安装成功。

2.5. 配置镜像源

为了加速从网络下载 Node.js 版本,将镜像源设置为国内的淘宝镜像。

桌面右击,点击“在终端中打开”,将打开 PowerShell 终端,输入以下命令:

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

3. Node.js、npm多版本管理、切换

安装配置好 nvm 后,管理 Node.js 版本就变得非常简单。

桌面右击,点击“在终端中打开”,将打开 PowerShell 终端。执行接下来的步骤:

3.1. 查看可安装的版本

# 列出所有可安装的版本
nvm list available

或者在 https://nodejs.org/en/about/previous-releases 上找到你需要的版本。

3.2. 安装指定版本的 Node.js

# 安装指定的版本,例如 22.18.0
nvm install 22.18.0

注意:安装某个版本的 Node.js 时,会同时安装对应版本的 npm。

3.3. 查看已安装的版本

nvm list

此命令会列出所有本地已安装的 Node.js 版本,并在当前使用的版本前用 * 标识。

3.4. 使用/切换到某个版本

# 使用/切换到 22.18.0 版本
nvm use 22.18.0

注意:如果在切换时遇到 exit status 1: ... 错误,请尝试用管理员身份运行终端

切换成功后,你可以验证当前的 Node.js 和 npm 版本:

node -v
npm -v

3.5. 为 npm 设置国内镜像源

# 设置新镜像源
npm config set registry https://registry.npmmirror.com
# 验证是否设置成功
npm config get registry
# 清理缓存:建议清理 npm 缓存,以避免旧缓存可能引发的问题
npm cache clean --force

4. 完整用法说明

  • nvm arch [32|64]: 显示 node 是否在 32 位或 64 位模式下运行。指定 32 或 64 可覆盖默认架构。
  • nvm debug: 检查 NVM4W 进程的已知问题。
  • nvm current: 显示当前版本。
  • nvm install <version> [arch]: 版本号可以是特定版本、"latest"表示最新版本,或"lts"表示最新的 LTS 版本。可选择指定安装 32 位或 64 位版本(默认为系统架构)。将[arch]设置为"all"以安装 32 位和 64 位版本。在命令末尾添加 --insecure 可跳过远程下载服务器的 SSL 验证。
  • nvm list [available]: 列出 node.js 的安装情况。在末尾输入 available 以显示可下载的版本列表。
  • nvm on: 启用 node.js 版本管理。
  • nvm off: 禁用 node.js 版本管理(不会卸载任何内容)。
  • nvm proxy [url]: 设置用于下载的代理。将 [url] 留空以查看当前代理。将 [url] 设置为 “none” 以移除代理。
  • nvm uninstall <version>: 卸载特定版本。
  • nvm use <version> [arch]: 切换到指定版本。可选择使用 latest 、 lts 或 newest 。 newest 是最新安装的版本。可选择指定 32/64 位架构。 nvm use 将继续使用选定版本,但切换到 32/64 位模式。关于在特定目录中使用 use (或使用 .nvmrc )的信息,请参考问题 #16。
  • nvm root <path>: 设置 nvm 应该存储不同版本 node.js 的目录。如果 未设置,将显示当前根目录。
  • nvm version: 显示当前正在运行的 NVM for Windows 版本。
  • nvm node_mirror <node_mirror_url>: 设置 node 镜像。中国用户可以使用 https://npmmirror.com/mirrors/node/
  • nvm npm_mirror <npm_mirror_url>: 设置 npm 镜像。中国用户可以使用 https://npmmirror.com/mirrors/npm/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/98151.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/98151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在LazyVim中配置Rust开发环境

要在LazyVim中配置Rust开发环境&#xff0c;包括代码补全、格式化、调试等功能&#xff0c;可以按照以下步骤进行配置&#xff1a; 1. 确保基础环境 首先确保你已经安装了&#xff1a; Rust工具链 (rustup, rustc, cargo)LazyVim已正确安装 # 安装Rust工具链 curl --proto http…

LeetCode热题100--114. 二叉树展开为链表--中等

1. 题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 …

REST API 设计最佳实践指南 - 如何用 JavaScript、Node.js 和 Express.js 构建 REST API

过去几年里&#xff0c;我创建并使用过很多 API。在此过程中&#xff0c;我遇到过各种好的和坏的实践&#xff0c;也在开发和调用 API 时碰到过不少棘手的问题&#xff0c;但也有很多顺利的时刻。 网上有很多介绍最佳实践的文章&#xff0c;但在我看来&#xff0c;其中不少都缺…

MyCat

文章目录18.1 MySQL 读写分离概述18.1.1 工作原理18.1.2 为什么要读写分离18.1.3 实现方式18.2 什么是 MyCat18.3 MyCat 安装与配置1. 下载与解压2. 创建用户并修改权限3. 目录说明4. Java 环境要求18.4 MyCat 启动与配置1. 配置环境变量2. 配置 hosts&#xff08;多节点集群&a…

使用 Spring Boot 搭建和部署 Kafka 消息队列系统

使用 Spring Boot 搭建和部署 Kafka 消息队列系统 摘要 本文将引导您在 Kafka 上搭建一个消息队列系统&#xff0c;并整合到您的 Spring Boot 项目中。我们将逐步实现这一方案&#xff0c;探讨其中的关键原理&#xff0c;避开可能遇到的坑&#xff0c;并最终将其部署到 Kuberne…

daily notes[45]

文章目录basic knowledgereferencesbasic knowledge the variable in Rust is not changed. let x5; x6;Rust language promotes the concept that immutable variables are safer than variables in other programming language such as python and and are in favour of th…

技术奇点爆发周:2025 年 9 月科技突破全景扫描

技术奇点爆发周&#xff1a;2025 年 9 月科技突破全景扫描当中国 "祖冲之三号" 量子计算机在特定任务上超越经典超级计算机一千万亿倍的算力新闻&#xff0c;与 OpenAI 宣布 100 亿美元定制芯片量产协议的消息在同一周密集爆发时&#xff0c;我们真切感受到了技术革命…

分布式专题——10.3 ShardingSphere实现原理以及内核解析

1 ShardingSphere-JDBC 内核工作原理当往 ShardingSphere 提交一个逻辑SQL后&#xff0c;ShardingSphere 到底做了哪些事情呢&#xff1f;首先要从 ShardingSphere 官方提供的这张整体架构图说起&#xff1a;1.1 配置管控在 SQL 进入 ShardingSphere 内核处理&#xff08;如解析…

移动语义的里里外外:从 std::move 的幻象到性能的现实

我们都已经听过这样的建议&#xff1a;“使用 std::move 来避免昂贵的拷贝&#xff0c;提升性能。” 这没错&#xff0c;但如果你对它的理解仅止于此&#xff0c;那么你可能正在黑暗中挥舞着一把利剑&#xff0c;既可能披荆斩棘&#xff0c;也可能伤及自身。 移动语义是 C11 带…

selenium完整版一览

selenium 库驱动浏览器selenium库是一种用于Web应用程序测试的工具,它可以驱动浏览器执行特定操作,自动按照脚本代码做出单击、输入、打开、验证等操作,支持的浏览器包括IE、Firefox、Safari、Chrome、Opera等。而在办公领域中如果经常需要使用浏览器操作某些内容,就可以使用se…

[Linux]学习笔记系列 -- lib/kfifo.c 内核FIFO实现(Kernel FIFO Implementation) 高效的无锁字节流缓冲区

文章目录lib/kfifo.c 内核FIFO实现(Kernel FIFO Implementation) 高效的无锁字节流缓冲区历史与背景这项技术是为了解决什么特定问题而诞生的&#xff1f;它的发展经历了哪些重要的里程碑或版本迭代&#xff1f;目前该技术的社区活跃度和主流应用情况如何&#xff1f;核心原理与…

MFC_Install_Create

1. 安装MFC 编写MFC窗口应用程序需要用到Visual Studiohttps://visualstudio.microsoft.com/zh-hans/&#xff0c;然后安装&#xff0c;要选择使用C的桌面开发&#xff0c;再点击右边安装详细信息中的使用C的桌面开发&#xff0c;往下滑&#xff0c;有一个适用于最新的v143生成…

Langchain4j开发之AI Service

学习基于Langchain4j的大模型开发需要学习其中Ai Service的开发模式。里面对大模型做了一层封装&#xff0c;提供一些可以方便调用的api。其中有两种使用Ai Service的方式。一.编程式开发1.首先引入Langchain4的依赖。<dependency><groupId>dev.langchain4j</gr…

认识神经网络和深度学习

什么是神经网络&#xff1f;什么又是深度学习&#xff1f;二者有什么关系&#xff1f;……带着这些疑问&#xff0c;进入本文的学习。什么是神经网络神经网络&#xff08;Neural Network&#xff09;是一种模仿生物神经系统&#xff08;如大脑神经元连接方式&#xff09;设计的…

医疗行业安全合规数据管理平台:构建高效协作与集中化知识沉淀的一体化解决方案

在医疗行业中&#xff0c;数据不仅是日常运营的基础&#xff0c;更是患者安全、服务质量和合规管理的核心载体。随着医疗业务的复杂化和服务模式的多元化&#xff0c;各类机构——从大型医院到科研中心——都面临着海量文档、报告、影像资料和政策文件的管理需求。这些资料往往…

Day25_【深度学习(3)—PyTorch使用(5)—张量形状操作】

reshape() squeeze()unsqueeze()transpose()permute()view() reshape() contiguous() reshape() 一、reshape() 函数保证张量数据不变的前提下改变数据的维度&#xff0c;将其转换成指定的形状。def reshape_tensor():data torch.tensor([[1, 2, 3], [4, 5, 6]])print(data…

第十八篇 开发网页教学:实现画布、绘画、简易 PS 方案

在网页开发领域&#xff0c;画布功能是实现交互创作的重要基础&#xff0c;无论是简单的绘画工具&#xff0c;还是具备基础修图能力的简易 PS 方案&#xff0c;都能为用户带来丰富的视觉交互体验。本篇教学将围绕 “学习 - 实践 - 实操” 的核心思路&#xff0c;从技术原理讲解…

封装形成用助焊剂:电子制造“隐形桥梁”的技术突围与全球产业重构

在5G通信、人工智能、新能源汽车等新兴技术驱动下&#xff0c;全球电子制造业正以年均6.8%的增速重构产业链。作为电子元件焊接的核心辅料&#xff0c;封装形成用助焊剂&#xff08;又称电子封装用助焊剂&#xff09;凭借其“优化焊接质量、提升可靠性、降低制造成本”的核心价…

【完整源码+数据集+部署教程】零件实例分割系统源码和数据集:改进yolo11-GhostHGNetV2

背景意义 研究背景与意义 随着工业自动化和智能制造的迅速发展&#xff0c;零件的高效识别与分割在生产线上的重要性日益凸显。传统的图像处理方法在处理复杂场景时往往面临着准确性不足和实时性差的问题&#xff0c;而深度学习技术的引入为这一领域带来了新的机遇。特别是基于…

墨色规则与血色节点:C++红黑树设计与实现探秘

前言​ 前几天攻克了AVL树&#xff0c;我们已然是平衡二叉树的强者。但旅程还未结束&#xff0c;下一个等待我们的&#xff0c;是更强大、也更传奇的**终极BOSS**——红黑树。它不仅是map和set的强大心脏&#xff0c;更是C STL皇冠上的明珠。准备好了吗&#xff1f;让我们一…