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

基于windows环境使用nvm安装多版本nodejs

目录

前言

一、卸载node

二、nvm是什么?

三、nvm安装

1.官网下载 nvm 包  

2. 安装nvm-setup.exe

3. 配置路径和下载镜像

4. 检查安装是否完成

四、 使用nvm安装node

五、修改npm默认镜像源为淘宝镜像

六、环境变量配置

1. 新建目录

2. 设置环境变量

七、测试安装全局模块

八、测试切换node版本全局模块是否存在


前言

注意: 如果电脑上已经安装了任意node版本,需要将其相关文件及环境变量清理干净后再安装nvm, 保证电脑内没有任何nodejs的残留

一、卸载node

如果已经安装了node,那么在安装nvm之前,需要先卸载node,如果没有安装可以直接跳过这一步到下一步了。
删除前可查当前使用的node版本,方便后续决定使用哪个版本的node。
  • 控制面板 -> 卸载程序 -> 卸载nodejs
为了确保彻底删除node,看下node安装目录中还有没有node文件夹,有的话一起删除。
删除以下文件夹(如果存在的话)
  • C:\Program Files (x86)\Nodejs
  • C:\Program Files\Nodejs
  • C:\Users{User}\AppData\Roaming\npm
  • C:\Users{User}\AppData\Roaming\npm-cache
  • 删除C:\Users\用户名 下的 .npmrc文件以及 .yarnrc 文件
  • 环境变量中npm、node的所有相关统统删掉

二、nvm是什么?

nvm(node.js version management),是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js 各种版本存在不兼容现象 可以通过它可以安装和切换不同版本的node.js。【可同时在一个环境中安装多个node.js版本(和配套的npm)】

三、nvm安装

1.官网下载 nvm 包  

从GitHup上下载 ,Releases · coreybutler/nvm-windows · GitHub  选最新版本进入即可

2. 安装nvm-setup.exe

上面nvm和nodejs默认安装地址都是C盘,我们最好换成其他的盘,我是换成D盘。
并且注意安装路径的文件夹名称不要出现中文,空格等,否则后期npm使用的时候会出现符号格式不正确问题。

3. 配置路径和下载镜像

安装完 nvm 后来配置一下下载源 找到nvm安装路径 -> 找到setting.txt文件 -> 将下面文本覆盖上去
root: D:\nvm
path: D:\nodejs
arch: 64
proxy: nonenode_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
root是 nvm 安装路径 path是 nodejs 路径 node_mirror 是 node 下载镜像 npm_mirror 是 npm 下载镜像

4. 检查安装是否完成

win+R,调用cmd,输入nvm,如下图则表示安装成功,安装成功则如下显示。
可以看到里面列出了各种命令
  • nvm arch:显示node是运行在32位还是64位。
  • nvm install <version> [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
  • nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
  • nvm on :开启node.js版本管理。
  • nvm off :关闭node.js版本管理。
  • nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
  • nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  • nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  • nvm uninstall <version> :卸载指定版本node。
  • nvm use [version] [arch] :使用制定版本node。可指定32/64位。
  • nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
  • nvm version :显示nvm版本。version可简化为v。

四、 使用nvm安装node

管理员身份运行终端, 先查询可使用版本号, 终端输入nvm list available, LST代表稳定版本

安装指定node版本

nvm install 20.13.1

安装完成后输入use命令指定使用版本

nvm use 20.13.1

use完成后可以分别输入命令行 node -v 和 npm -v,检验是否安装成功 

nvm list 查看已安装nodejs版本, * 号表示正在使用

删除某nodejs版本

nvm uninstall node版本号 //例如:nvm uninstall 16.14.0 即可删除对应版本

五、修改npm默认镜像源为淘宝镜像

npm config set registry https://registry.npmmirror.com/
检查是否设置成功, 应该返回 registry.npmmirror.com/
npm config get registry

六、环境变量配置

1. 新建目录

  1. 为了防止nvm切换node版本之后全局安装的包无法使用,我们直接在nvm目录下创建"node_cache"和"node_global"文件夹

打开命令行工具, 输入下面两句指令

npm config set prefix "D:\nvm\node_global" npm config set cache "D:\nvm\node_cache"

想查看是否设置成功使用

npm config get prefix 
npm config get cache

2. 设置环境变量

我的电脑右键 -> 属性 -> 高级系统设置 -> 系统属性(高级) -> 环境变量
如果环境变量未正确配置,输入node -v 会报错,系统将无法正确识别"node"命令。
需要我们设置的地方有两个:
系统环境变量新增NODE_PATH变量 用户变量修改path变量

在[系统环境变量]新建环境变量NODE_PATH值为D:\nvm\node_global\node_modules

修改[用户变量]中的path变量

另外, 在下载完nvm后, 系统环境变量和用户环境变量会默认配置好NVM_HOME和NVM_SYMLINK

点击确定后配置完成


七、测试安装全局模块

在cmd窗口中输入以下指令全局安装http-server模块, 安装成功就表示环境变量配置成功
npm install http-server -g


八、测试切换node版本全局模块是否存在

  • 当前node版本运行 http-server
  • 切换版本后重新运行
  • 测试完成,可以看到切换node版本后全局模块依然可以使用

相关文章:

基于windows环境使用nvm安装多版本nodejs

目录 前言 一、卸载node 二、nvm是什么&#xff1f; 三、nvm安装 1.官网下载 nvm 包 2. 安装nvm-setup.exe 3. 配置路径和下载镜像 4. 检查安装是否完成 四、 使用nvm安装node 五、修改npm默认镜像源为淘宝镜像 六、环境变量配置 1. 新建目录 2. 设置环境变量 七…...

力扣9. 回文数

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数 是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&#xff0c;而…...

C#—BitArray点阵列

C#—BitArray点阵列 在 C# 中&#xff0c;BitArray 类用来管理一个紧凑型的位值数组&#xff0c;数组中的值均为布尔类型&#xff0c;其中 true&#xff08;1&#xff09;表示此位为开启&#xff0c;false&#xff08;0&#xff09;表示此位为关闭。 当需要存储位&#xff08…...

国产自主可控新征程:华为原生鸿蒙系统与鲲鹏认证

华为于今年10月22日在深圳正式发布了其原生鸿蒙系统HarmonyOS NEXT。这是我国首个实现全栈自研的操作系统&#xff0c;标志着中国在操作系统领域取得了突破性进展。HarmonyOS NEXT 5.0的发布&#xff0c;使得鸿蒙操作系统成为继苹果iOS和安卓系统之后的全球第三大移动操作系统&…...

esxi8 虚拟机使用ubuntu22模板后 没有ip配置文件,只有ipv6链接正常使用

esxi8 虚拟机使用模板后 没有ip配置文件&#xff0c;只有ipv6链接正常使用&#xff0c;/etc/NetworkManager/system-connections配置下没有配置文件 只有/etc/netplan/有文件 sudo ip addr add 192.168.1.9/24 dev ens35 # 临时设置ip&#xff0c; 接口名ens35 sudo vi /et…...

【Qualcomm】IPQ5018查看连接终端RSSI、SNR、NF方法

IPQ5018 简介 IPQ5018 是高通(Qualcomm)公司推出的一款面向网络设备的系统级芯片(SoC)。它通常用于路由器、接入点和其他网络设备中,提供高性能的无线网络连接。以下是关于 IPQ5018 的一些关键特性和功能: 关键特性 高性能处理器 IPQ5018 集成了多核 CPU,通常是 ARM …...

【构建工具】现代开发的重要角色

你可能有所听闻构建工具&#xff0c;但是不知道是干什么的&#xff0c;或者是开发中用到了&#xff0c;大概会使用&#xff0c;但是想理解一下具体的工作原理等&#xff0c;那么我将分享一下我对其的理解。【 我将分为两篇来讲解】。 当我们谈到构建工具时&#xff0c;可以把它…...

【Linux系统】—— 初识 shell 与 Linux 中的用户

【Linux系统】—— 初识shell 与 Linux 中的用户 1 Xshell 运行原理1.1 命令行的组成1.2 外壳程序 2 Linux中的用户2.1 两种用户2.2 创建普通用户2.3 用户切换2.3.1 普通->超级2.3.2 超级->普通 3 指令的短暂提权3.1 为什么要提权3.2 sudo 指令3.3 人人都能提权吗 1 Xshe…...

二维码数据集,使用yolov,voc,coco标注,3044张各种二维码原始图片(未图像增强)

二维码数据集&#xff0c;使用yolov&#xff0c;voc&#xff0c;coco标注&#xff0c;3044张各种二维码原始图片&#xff08;未图像增强&#xff09; 数据集分割 训练组70&#xff05; 2132图片 有效集20&#xff05; 607图片 测试集10&#xff05; 305图…...

Vue指令

创建项目&#xff1a; vue init webpack 项目名称 element-ui npm i element-ui -saxios npm i axios1.1.3 -S vuex npm i vuex3.6.2 -S vuex持久化 npm i -S vuex-persistedstate4.1.0代理模版 proxyTable: {/api: {target: http://localhost:8081/,changeOrigin: true,pathRe…...

数据保护策略:如何保障重要信息的安全

一、什么是数据安全&#xff1f; 数据安全是保护数字信息免遭盗窃、未经授权的访问和恶意修改的过程。这是一个持续的过程&#xff0c;负责监督信息的收集、存储和传输。 机密性&#xff1a;保护数据免遭未授权方访问。 完整性&#xff1a;保护数据免遭未经授权的修改、损坏…...

Chrome webdriver下载-避坑

WebDriver以原生的方式驱动浏览器&#xff0c;不需要调整环境变量。 一、window版 1.chrome和chromedriver下载地址&#xff1a; Chrome for Testing availability 我下载的是如下两个安装包&#xff0c;解压即可。 2.导包 pip install selenium然后用python代码引用即可…...

递归求最大公约数

#include <stdio.h>// 函数声明 int gcd(int a, int b);int main() {int x, y;printf("请输入两个正整数&#xff1a;");scanf("%d %d", &x, &y);printf("最大公约数是&#xff1a;%d\n", gcd(x, y));return 0; }// 递归求最大公约…...

关于在浏览器里面获取手机方向的事件

先说问题&#xff1a;浏览器有一个自带原生的获取手机方向的事件方法 deviceorientation: https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent/DeviceOrientationEvent 这个事件里面有个实例absolute 看名字知道意思吧&#xff0c;对就是绝对坐标的意…...

STM32 出租车计价器系统设计(一) 江科大源码改写

STM32 出租车计价器系统设计 功能目标 驱动步进电机模拟车轮旋转&#xff0c;并实现调速功能。 设置车轮周长和单价&#xff0c;检测车轮转速和运转时间。 计算并显示行驶里程和价格。 硬件材料 28BYJ48 五线四相步进电机和 ULN2003 驱动板模块 测速传感器模块 嵌入式小系统…...

eclipse rcp-创建rcp-创建target

1.创建一个target文件&#xff0c;将其命名为mine-rcp.target 2. 编辑target 2.1 点击add按钮&#xff0c;选中software site 2.2 选择一个software site 打开浏览器。 选择一个合适的eclipse作为基础版本。进入https://download.eclipse.org/eclipse/downloads/https://dow…...

微信小程序--创建一个日历组件

微信小程序–创建一个日历组件 可以创建一个日历组件&#xff0c;来展示当前月份的日期&#xff0c;并支持切换月份的功能。 一、目录结构 /pages/calendarcalendar.wxmlcalendar.scsscalendar.jscalendar.json二、calendar.wxml <view class"calendar"><…...

质量问题分析与改进常见方法

大同小异&#xff0c;本质都是定位、解决、推广三大步双归零 技术归零五条要求&#xff1a;“定位准确、机理清楚、问题复现、措施有效、举一反三”。 管理归零五条要求&#xff1a;“过程清楚、责任明确、措施落实、严肃处理、完善规章”。 航天FRACASFRACAS &#xff0c;是“…...

质数的和与积

质数的和与积 C语言代码C 代码Java代码Python代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 两个质数的和是S&#xff0c;它们的积最大是多少&#xff1f; 输入 一个不大于10000的正整数S&#xff0c;为两个质数的和。 输出 一个整…...

数据结构 (35)分配类排序

前言 分配类排序是数据结构中的一种重要排序方法&#xff0c;其核心思想是利用分配和收集过程对元素进行排序&#xff0c;而无需比较元素之间的关键字。这种方法突破了基于关键字比较的排序算法的时间下界&#xff0c;可以达到线性时间复杂度O(n)。 一、分配类排序的基本概念 分…...

告别Electron臃肿!用Tauri 2.0 + Rust打造你的第一个轻量级桌面应用(附完整项目结构解析)

从Electron到Tauri 2.0&#xff1a;用Rust重构现代桌面应用开发范式 当Electron应用体积膨胀到200MB起步时&#xff0c;我们不得不重新思考桌面开发的未来。Tauri 2.0的出现绝非偶然——这是前端开发者对性能与体验的集体觉醒。本文将带你深入这个基于Rust的轻量级框架&#xf…...

保姆级教程:从零配置ROS2自定义消息包(含CMake/ament避坑指南)

从零构建ROS2自定义消息包的终极实践指南 在机器人开发领域&#xff0c;ROS2的消息系统是模块间通信的核心枢纽。当标准消息类型无法满足特定需求时&#xff0c;自定义消息包便成为开发者必须掌握的技能。本文将带您从零开始&#xff0c;逐步构建一个完整的ROS2自定义消息包&am…...

工业相机+Python视觉系统崩溃频发?(产线停机损失超¥8600/小时的5个隐藏代码陷阱)

第一章&#xff1a;工业相机视觉系统崩溃的根源诊断工业相机视觉系统在产线部署中一旦突发崩溃&#xff0c;往往表现为图像丢失、帧率归零、设备离线或软件进程异常终止。此类故障表面随机&#xff0c;实则多由底层软硬件协同失配引发&#xff0c;需从驱动层、通信协议、资源调…...

SPIRAN ART SUMMONER优化指南:如何调整参数让生成的图片更符合预期

SPIRAN ART SUMMONER优化指南&#xff1a;如何调整参数让生成的图片更符合预期 1. 理解SPIRAN ART SUMMONER的核心参数 SPIRAN ART SUMMONER作为一款基于Flux.1-Dev模型的图像生成工具&#xff0c;其参数设置直接影响最终输出效果。与普通AI绘画工具不同&#xff0c;它融入了…...

从SuperGlue到LoFTR:无检测器特征匹配是如何“卷”出来的?技术演进深度解读

从SuperGlue到LoFTR&#xff1a;无检测器特征匹配的技术革命与范式迁移 在计算机视觉领域&#xff0c;特征匹配一直是三维重建、SLAM、图像配准等任务的核心基础。传统方法如SIFT、ORB等基于手工设计的特征检测与描述算法&#xff0c;在过去二十年里主导了这一领域。然而&#…...

降重不靠删,降AI不靠装——百考通用语义重构守住你的原创观点

在2026年的高校毕业季&#xff0c;一种新型的不公正在悄然制度化&#xff1a; 不是抄袭者被放过&#xff0c;而是原创者被怀疑&#xff1b; 不是敷衍者被批评&#xff0c;而是严谨者被标记&#xff1b; 不是懒惰者被警告&#xff0c;而是认真写了一篇好论文的人&#xff0c;被迫…...

GIS开发必备:5分钟搞定EPSG3857转WGS84坐标转换(附proj4.js完整代码)

GIS开发实战&#xff1a;从原理到代码实现EPSG3857与WGS84的高效坐标转换 刚接触WebGIS开发的工程师们&#xff0c;常常会被各种坐标系搞得晕头转向。为什么高德地图上显示的位置和GPS设备采集的数据对不上&#xff1f;为什么Leaflet、OpenLayers这些库加载的瓦片地图坐标数值大…...

别再手动折腾了!用Docker一键部署Oracle 11g开发环境(附阿里云镜像地址)

告别繁琐配置&#xff1a;Docker容器化Oracle 11g开发环境实战指南 每当新项目需要搭建Oracle开发环境时&#xff0c;开发者们总会面临相同的困境——数小时的安装配置、复杂的系统依赖、难以复现的环境问题。传统安装方式不仅消耗宝贵时间&#xff0c;更可能因系统差异导致团…...

51单片机Proteus仿真实战:从零构建流水灯系统

1. 环境准备&#xff1a;搭建51单片机开发环境 第一次接触51单片机的朋友可能会被各种工具软件搞晕&#xff0c;其实只需要两个核心工具就能完成流水灯仿真&#xff1a;Proteus和Keil。我刚开始学单片机时也踩过不少坑&#xff0c;这里把最稳定的版本和安装要点分享给大家。 Pr…...

无人机控制中的模糊控制:一维与二维模糊控制及其实现要点

无人机 控制方面 模糊控制 有一维模糊和二维模糊两种&#xff0c;文字说明资料已遗失&#xff0c;数学模型可以根据仿真图推导&#xff0c;直接运维simulink会报错&#xff0c;是因为没有导入模糊规则&#xff0c;在运行simulink之前需要在命令窗口输入workreadfis work.fis ,这…...