下载与快速上手 NVM:Node.js 版本管理工具

news2025/3/22 22:32:47
一、准备工作:卸载旧版 Node.js

重要提示:在安装 NVM 前,请先彻底删除已安装的 Node.js,避免路径冲突:

  1. 检查安装路径

    bash

    where node
    
     

    常见路径:

    • C:\Program Files\nodejs\
    • C:\Users\用户名\AppData\Local\nodejs\
  2. 卸载步骤

    • 通过控制面板卸载 Node.js 程序
    • 删除上述路径下的所有文件
    • 清理环境变量:
      • 右键此电脑 → 属性 → 高级系统设置 → 环境变量
      • 删除所有包含nodejs的系统变量和用户变量

为什么需要这样做?
NVM 通过自定义路径管理 Node 版本,若旧版 Node 存在:

  • 可能导致where node返回错误路径
  • 环境变量优先级冲突
  • 版本管理混乱
二、NVM 安装与验证详解

1. 下载 NVM

bash

访问官方GitHub仓库:
https://github.com/coreybutler/nvm-windows/releases

选择带有nvm-setup的最新.msi 文件(如nvm-setup_1.1.17.msi

2. 安装过程

  • 运行安装程序时:
    • 建议保持默认安装路径C:\Program Files\nvm\
    • 确保勾选 "Add to environment variables"
    • 安装完成后需重启终端生效

3. 验证安装

bash

where node

✅ 正常输出:

plaintext

C:\Program Files\nvm\v20.18.0\node.exe

❌ 异常情况处理:

  • 若未找到路径:重新检查环境变量
  • 若显示旧版路径:彻底删除旧版 Node.js

原理
Windows 的where命令会搜索系统 PATH 环境变量中的所有目录。NVM 安装时会将自身路径添加到 PATH 最前端,因此正常情况下应优先找到 NVM 管理的 Node.js 可执行文件。

4. 检查 NVM 版本

bash

nvm version

输出示例:

plaintext

1.1.17
三、版本管理深度解析

1. 查看可用版本

bash

nvm list-remote

输出说明:

plaintext

   14.21.3 LTS (LTS: Erbium)
   18.18.2 LTS (LTS: Hydrogen)
-> 20.18.0 Current (Latest LTS: Iron)

  • 箭头标记表示当前最新 LTS 版本
  • LTS 版适合生产环境(长期支持)
  • Current 版包含最新特性(可能不稳定)

2. 安装指定版本

bash

nvm install 20.18.0

🔍 执行过程:

  1. 检查本地缓存是否存在该版本
  2. 从 Node.js 官网下载对应版本
  3. 解压到C:\Program Files\nvm\v20.18.0目录

3. 切换使用版本

bash

nvm use 20.18.0

🔄 切换原理:

  • 修改nvm目录下的settings.txt
  • 建立current软链接指向目标版本
  • 自动更新系统临时环境变量
四、最终验证与维护

1. 检查 Node.js/npm 版本

bash

node -v
npm -v

✅ 预期输出:

plaintext

v20.18.0
10.2.0

2. 管理已安装版本

bash

nvm list

输出示例:

plaintext

   18.18.2
* 20.18.0 (Currently using 64-bit executable)

3. 常用维护命令

bash

nvm uninstall 18.18.0  # 删除指定版本
nvm arch 64            # 切换64/32位版本
nvm proxy              # 设置下载代理
五、常见问题解决方案

1. 网络下载失败

  • 错误提示:Request failed with status code 443
  • 解决方案:

    bash

    nvm proxy http://your-proxy:port
    

2. 权限问题

  • 错误提示:Access is denied
  • 解决方法:以管理员身份运行终端

3. 环境变量未生效

  • 处理方式:重启终端或执行:

    bash

    refreshenv
    

4. 多版本共存

  • 通过nvm use切换版本
  • 项目级管理建议使用.nvmrc文件:

    bash

    echo "20.18.0" > .nvmrc
    nvm use
    
验证逻辑总结

graph TD
    A[执行where node] --> B{输出NVM路径?}
    B -->|是| C[验证成功]
    B -->|否| D[检查旧版Node.js残留]
    E[执行nvm version] --> F{显示版本号?}
    F -->|是| G[版本验证通过]
    F -->|否| H[修复环境变量]
    I[执行node -v] --> J{版本正确?}
    J -->|是| K[完整验证通过]
    J -->|否| L[重新执行nvm use]

截至2025年3月21日本方法仍然可用

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

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

相关文章

网络防火墙(Firewall)、Web防火墙(WAF)、入侵检测系统(IDS)、入侵防御系统(IPS)对比总结

目录 一、Firewall、WAF、IDS、IPS四种设备简介 二、Firewall、WAF、IDS、IPS四种设备的角色定位 三、防火墙(Firewall)与入侵检测系统(IPS)的区别 四、入侵检测系统(IDS)与入侵防御系统(IP…

Unity | 游戏数据配置

目录 一、ScriptableObject 1.创建ScriptableObject 2.创建asset资源 3.asset资源的读取与保存 二、Excel转JSON 1.Excel格式 2.导表工具 (1)处理A格式Excel (2)处理B格式Excel 三、解析Json文件 1.读取test.json文件 四、相关插件 在游戏开发中,策划…

IT工具 | node.js 进程管理工具 PM2 大升级!支持 Bun.js

P(rocess)M(anager)2 是一个 node.js 下的进程管理器,内置负载均衡,支持应用自动重启,常用于生产环境运行 node.js 应用,非常好用👍 🌼概述 2025-03-15日,PM2发布最新版本v6.0.5,这…

VulnHub-Web-Machine-N7通关攻略

一、信息收集 第一步:确定靶机IP为192.168.0.107 第二步:扫描后台及开放端口 第三步:进行敏感目录及文件扫描 http://192.168.0.107/index.html (CODE:200|SIZE:1620) http://192.168.0.107/server-status (CODE:403|SIZ…

论华为 Pura X 折叠屏性能检测

在科技浪潮中,折叠屏手机以其创新形态掀起市场热潮。华为 Pura X 作为华为最新折叠手机,承载前沿科技与精湛工艺,成为行业焦点。它融合先进折叠屏技术与优质材质,致力于打破传统手机使用边界,为用户开启全新体验。但产…

生成PDF文件:从html2canvas和jsPdf渲染到Puppeteer矢量图

刚刚实现而已:第一次明白,双击或file:///打开html文件,居然和从localhost:3000打开同一个html文件有本质的区别。 字体居然还能以Base64代码嵌入到网页,只是太大太笨。 需要安装node.js,npm安装更多依赖:…

在 Elasticsearch 中探索基于 NVIDIA 的 GPU 加速向量搜索

作者:来自 Elastic Chris Hegarty 及 Hemant Malik 由 NVIDIA cuVS 提供支持,此次合作旨在为开发者在 Elasticsearch 中的向量搜索提供 GPU 加速。 在 Elastic Engineering 组织内,我们一直致力于优化向量数据库的性能。我们的使命是让 Lucen…

Junit在测试过程中的使用方式,具体使用在项目测试中的重点说明

JUnit 是一个广泛使用的 Java 单元测试框架,主要用于编写和运行可重复的测试。以下是 JUnit 在项目测试中的使用方式和重点说明: 1. 基本使用 场景:测试一个简单的 Java 类。 示例: import org.junit.Test; import static org.junit.Assert.*;public class CalculatorTe…

asp.net 4.5在医院自助系统中使用DeepSeek帮助医生分析患者报告

环境: asp.net 4.5Visual Studio 2015本地已经部署deepseek-r1:1.5b 涉及技术 ASP.NET MVC框架用于构建Web应用程序。使用HttpWebRequest和HttpWebResponse进行HTTP请求和响应处理。JSON序列化和反序列化用于构造和解析数据。SSE(服务器发送事件&#xf…

HeyGem.ai 全离线数字人生成引擎加入 GitCode:开启本地化 AIGC 创作新时代

在人工智能技术飞速演进的时代,数据隐私与创作自由正成为全球开发者关注的焦点。硅基智能旗下开源项目 HeyGem.ai 近日正式加入 GitCode,以全球首个全离线数字人生成引擎的颠覆性技术,重新定义人工智能生成内容(AIGC)的…

密码协议与网络安全——引言

三个基本概念 计算机安全(Computer Security):对于一个自动化的信息系统,采取保护措施确保信息系统资源(包括硬件、软件、固件、信息、数据和通信)的保密性、完整性和可用性。 网络安全(Netwo…

springboot实现调用百度ocr实现身份识别+二要素校验

一、技术选型 OCR服务&#xff1a;推荐使用百度AI 二、实现 1.注册一个服务 百度智能云控制台https://console.bce.baidu.com/ai-engine/ocr/overview/index?_1742309417611 填写完之后可以获取到app-id、apiKey、SecretKey这三个后面文件配置会用到 2、导入依赖 <!-- …

MATLAB 控制系统设计与仿真 - 28

MATLAB状态空间控制系统分析 - 极点配置 就受控系统的控制律的设计而言,由状态反馈极点配置和输出反馈极点配置。 状态反馈极点配置问题就是:通过状态反馈矩阵K的选取,使闭环系统的极点,即(A-BK)的特征值恰好处于所希望的一组给定闭环极点的位置。 另外,线性定常系统可…

JetsonNano —— 4、Windows下对JetsonNano板卡烧录刷机Ubuntu20.04版本(官方教程)

介绍 NVIDIA Jetson Nano™ 开发者套件是一款面向创客、学习者和开发人员的小型 AI 计算机。按照这个简短的指南&#xff0c;你就可以开始构建实用的 AI 应用程序、酷炫的 AI 机器人等了。 烧录刷机 1、下载 Jetson Nano开发者套件SD卡映像 解压出.img文件并记下它在计算机上的…

【深度学习新浪潮】AI ISP技术与手机厂商演进历史

本文是关于AI ISP(人工智能图像信号处理器)的技术解析、与传统ISP(图像信号处理器)的区别、近三年研究进展,以及各大手机厂商在该领域演进历史的详细报告。本报告综合多个权威来源的信息,力求全面、深入地呈现相关技术发展脉络与行业动态。 第一部分:AI ISP的定义及与传…

基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法

基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法 已经弃用的版本&#xff08;Version 10.3-2021.10&#xff09;&#xff1a;gcc-arm-none-eabi&#xff1a;https://developer.arm.com/downloads/-/gnu-rmArm GNU Toolchain当前版本&#xff1a;https://developer.a…

音频进阶学习二十——DFT离散傅里叶变换

文章目录 前言一、FT、FS、DTFT、DFS1.FT和FS2.DTFT和DFS 二、DFT定义1.对于DFT的理解1&#xff09;DTFT和DFT2&#xff09;DFS和DFT3&#xff09;有限长序列和周期序列 2.圆周卷积1&#xff09;线性卷积2&#xff09;圆周卷积 三、频率采样和插值恢复1.频率采样的影响2.频率采…

centos 7 部署ftp 基于匿名用户

在 CentOS 7 上搭建基于匿名用户的 FTP 服务&#xff0c;可按以下步骤进行&#xff1a; 1. 安装 vsftpd 服务 vsftpd 是一款常用的 FTP 服务器软件&#xff0c;可使用以下命令进行安装&#xff1a; bash sudo yum install -y vsftpd2. 启动并设置开机自启 vsftpd 服务 bash …

Apache SeaTunnel脚本升级及参数调优实战

最近作者针对实时数仓的Apache SeaTunnel同步链路&#xff0c;完成了双引擎架构升级与全链路参数深度调优&#xff0c;希望本文能够给大家有所启发&#xff0c;欢迎批评指正&#xff01; Apache SeaTunnel 版本 &#xff1a;2.3.9 Doris版本&#xff1a;2.0.6 MySQL JDBC Conne…

学习记录-cssjs-综合复习案例(二)

目录 商城复合案例功能实现&#xff08;二&#xff09;商城首页实现步骤1.准备工作2. 搭建html框架3. 编写js代码 完整实例代码完整项目心得 商城复合案例功能实现&#xff08;二&#xff09; 使用html&#xff0c;css&#xff0c;基于bootstrap框架以及媒体查询搭建响应式布局…