nvm安装、管理node多版本以及配置环境变量【保姆级教程】

引言

不同的项目运行时可能需要不同的node版本才可以运行,由于来回进行卸载不同版本的node比较麻烦;所以需要使用node工程多版本管理。
本人在配置时,通过网络搜索教程,由于文章时间过老,或者文章的互相拷贝导致配置时出现许多小问题,但最后也是配置成功了,想写下此文章帮助小伙伴们排除错误,节省各位宝贵的时间,如有问题欢迎留言讨论~

注意:安装nvm时不能安装任何node版本(如存在请删除后再安装nvm),再检查环境变量,如果还有node.js相关也删掉,保证系统无任何node.js 残留。
卸载完之后cmd命令行输入 node -v 查看是否还能查到node信息,无的话表示删除干净。

安装前准备

  • 若已安装Node.js,需彻底卸载避免冲突

1.控制面板卸载:进入控制面板 → 卸载Node.js程序。
2.删除残留文件:

  • 删除安装目录:C:\Program Files\nodejs(或自定义路径)
  • 删除用户目录下的.npmrc文件:C:\Users\用户名
  • 清理以下目录(若存在):
C:\Program Files (x86)\Nodejs  
C:\Users\用户名\AppData\Roaming\npm  
C:\Users\用户名\AppData\Roaming\npm-cache

3.检查卸载结果:

node -v  # 若提示“找不到命令”则表示卸载成功

一、Nvm的下载与安装

1.1 Nvm下载

很多博主给的是GitHub上的下载地址,但是在国内访问速度非常慢,大家可以通过本人的网盘地址下载。点击下载Nvm,提取码:B66S

1.2 Nvm的安装与配置

1.安装准备(示例:本人在D盘下创建了Nvm文件夹,并在该文件夹下创建了nodejs文件夹)
在这里插入图片描述
2.双击运行 nvm-setup.exe
在这里插入图片描述

3.选择nvm安装路径(示例:D:\nvm,避免中文和空格)
在这里插入图片描述

4.设置Node.js存储路径(示例:D:\nvm\nodejs)
在这里插入图片描述

5.配置镜像加速(避免下载失败)

打开nvm安装目录下的 settings.txt 文件,添加以下内容:
在这里插入图片描述

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

(旧版淘宝镜像 registry.npm.taobao.org 证书已过期,需替换为该域名)
6.环境变量配置
1.右击此电脑点击属性
2.选择高级系统设置
3.点击环境变量
4.查看环境变量是否配置(默认nvm安装成功后,自动生成)
在这里插入图片描述

1.3 验证Nvm是否安装成功

完成安装后,以管理员身份打开CMD,输入 nvm -v 验证是否成功
在这里插入图片描述

二、使用Nvm安装node

2.1 相关命令

nvm list available    # 查看可下载的node版本
nvm install v    #下载node指定版本 v(版本号) 如:nvm install 20.11.1
nvm list    #查看已下载的node版本
nvm use v    #使用node指定版本 注:use指令需要使用管理员权限
nvm uninstall v #卸载指定版本 如:nvm uninstall 20.11.1

2.2使用Nvm安装node

1.win + R,调用cmd
安装完成后开始插入nodejs首先使用 nvm list available 查询可插入版本号,LST表示可插入稳定版本。【如未指定版本,建议安装LTS下的版本】
在这里插入图片描述
2.安装指定node.js版本(这里根据需求选择)
点我查看node相关版本号

nvm install 18.16.0 #根据自己的需求选择版本号

在这里插入图片描述
3.安装完成后使用nvm use v命令使用安装的node版本
可以分别输入命令行 node -vnpm -v,检验node.js以及对应npm是否安装成功
在这里插入图片描述
4.nvm list 查看当前已安装的node.js版本,带*号的是正在使用的
在这里插入图片描述
5.安装成功后的文件夹显示
在这里插入图片描述

***马上成功了,请坚持一下!***

2.3 修改npm默认镜像源为淘宝镜像

修改npm镜像源为淘宝镜像,加快npm包的下载速度,减少发生连接错误和超时的概率。

1.在命令提示窗口运行下面命令

npm config set registry https://registry.npmmirror.com

2.检查是否设置淘宝镜像成功

npm config get registry

在这里插入图片描述

三、配置node环境变量

3.1创建目录

在Node.js存储路径下新建 node_global 和 node_cache 文件夹
在这里插入图片描述

3.2 设置npm全局路径:

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

3.3 配置环境变量path

  1. 编辑用户变量中的Path

在这里插入图片描述

注意:【用户变量】中的path变量,%NVM_HOME% 和 %NVM_SYMLINK% 理论上是nvm安装成功后自动生成的。> 如果有C:UsershuaAppDataRoaming npm,则将其修改为D:\NVM\node_global,如果没有就自己新建D:\NVM\node_global,总之保证有以上内容。

  1. 再设置系统变量 — Path变量的设置和用户变量中一致
    在这里插入图片描述

3.4 添加系统变量:

  • 新建 NODE_HOME → 值:D:\nvm\nodejs
    在这里插入图片描述
    D:\tools\nodejs\node_global\node_modules 就是上面创建的全局模块安装路径文件夹
    点击三次确定,完成环境变量配置!!!
    点击三次确定,完成环境变量配置!!!
    点击三次确定,完成环境变量配置!!!

四、测试安装全局模块(测试环境变量配置)

  • 测试是否环境变量是否配置成功,在cmd窗口中输入以下指定全局安装express模块
npm install -g express

在这里插入图片描述

  • 安装成功的话表示环境变量配置成功
    在这里插入图片描述

五、安装Vue

1.确保配置了淘宝的镜像源,可以用npm config get registry进行测试
2.安装vue、vue-cli、webpack

npm install vue -g
npm install vue-cli -g
npm install webpack -g

3.检查Vue是否安装成功
使用vue -V命令
返回版本号则说明安装成功,注意V是大写,小写不成功
在这里插入图片描述

六、扩展:使用 nrm 来管理 npm 源

6.1 nrm的概念

nrm 允许开发者通过命令行工具轻松管理多个 npm 镜像源(如淘宝、腾讯云、华为云等),并支持一键切换,无需手动修改 npm config。
提供源测速功能(nrm test),帮助选择响应最快的镜像。

我们可以使用 nrm 来管理 npm 源,特别是当需要在不同的网络环境之间切换时,它可以提供更好的包管理体验。一般国内就是用淘宝源,所以这部分了解即可

6.2 使用 nrm 来管理 npm 源

1.全局安装(需 Node.js 环境)

npm install -g nrm

2.核心操作命令

nrm ls #查看所有源(带 * 为当前使用源)
nrm use taobao  # 切换到淘宝源(推荐国内使用)
nrm test          # 测试所有源延迟
nrm test taobao   # 仅测试淘宝源
nrm add my-registry http://私有源地址  # 示例:企业私有源
nrm del my-registry  # 删除指定源
nrm current #当前正在使用的 npm 源

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

8 SpringBootWeb案例(上): 查询【分页功能(分页插件)】、删除、新增、修改

文章目录 前言:SpringBootWeb案例1. 准备工作1.1 需求&环境搭建1.1.1 需求说明1.1.2 环境搭建1.2 开发规范1.2.1 开发规范-REST(不强求非要这种风格,传统风格有时候更方便)1.2.2 开发规范-统一响应结果和异常处理1.2.3 开发流程2. 部门管理2.1 查询部门2.1.1 原型和需求…

新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)

视频教程和更多福利在我主页简介或专栏里 (不懂都可以来问我 专栏找我哦) 如果对你有帮助你可以来专栏找我,我可以无偿分享给你对你更有帮助的一些经验和资料哦 目录: 一、XSS的三种类型: 二、XSS攻击的危害&#x…

用《软件方法》引导AI全流程高效开发

和“敏捷”的拍脑袋“试错”不同,《软件方法》一直强调严谨地思考、推导和建模。 如何尽量借助现有AI的力量,降低建模人员A→B→C→D的推导工作量,是一个非常有价值的课题。我们将用一个实例来分享和展示《软件方法》作者潘加宇的建议实践。…

全面收集中间件Exporter适配:从Redis到ActiveMQ,掌握监控数据采集的最佳实践

#作者:任少近 文章目录 说明:一 Redis的适配exporter版1.1 Redis的exporter源码版本1.2 Redis的exporter的releases版1.3 Redis_exporter版本选择理由1.4 Redis_exporter docer镜像 二 Zookeeper的适配exporter版2.1 Zookeeper的exporter源码版本2.2 Zo…

npm在install时提示要安装python问题处理

使用npm\yarn\pnpm下载以来的时候,一直提示python异常,有的项目安装了python之后,下载依赖还是异常 而且旧版本项目使用python2,新的使用Python3…很烦 解决方案1:cnpm 使用cnpm 安装教程: npm安装cnpm,解…

浅谈网络 | 容器网络之Cilium

目录 Cilium介绍Cilium是什么Cilium 主要功能特性为什么用Cilium? 功能概述组件概况BPF 与 XDPeBPF (Extended Berkeley Packet Filter)XDP (eXpress Data Path) Cilium介绍 Cilium是什么 Cilium 是一个开源网络和安全项目,专为 Kubernetes、Docker 和…

前端知识点---vue的声明周期(vue)

文章目录 创建挂载更新销毁 vue的生命周期有四个阶段: 创建 挂载, 更新和销毁 创建 是vue组件从创建到准备渲染的过程 dom还没挂载到页面中 进行了初始化工作: 初始化数据(data,props) . 设置计算属性computed 初始化方法 methods 绑定事件watch 创建阶段的钩子函数beforeCrea…

MySQL如何解决幻读?

目录 一、什么是幻读? 1.1 幻读的定义 1.2 幻读的示例 1.3 幻读产生的原因? 1.4?读已提交(Read Committed) 1.4.1 确定事务等级 1.4.2 非锁定读取 准备 示例 结论 1.4.3 锁定读取 准备 示例 分析 结论 1.5?可重…

Day15-后端Web实战-登录认证——会话技术JWT令牌过滤器拦截器

目录 登录认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 2. 登录校验2.1 问题分析2.2 会话技术2.2.1 会话技术介绍2.2.2 会话跟踪方案2.2.2.1 方案一 - Cookie2.2.2.2 方案二 - Session2.2.2.3 方案三 - 令牌技术 2.3 JWT令牌2.3.1 介绍2.3.2 生成和校…

支持所有模拟器根证书一键植入方便快捷

qq 点-我咨-】--询 群 Android系统中的安全证书分为“用户证书”和“系统证书”两类。用户可以在设备的设置 -> 安全 -> 查看安全证书页面中,分别查看“系统”和“用户”两个独立的证书列表。其中,用户证书通常是通过浏览器下载安装,或…

WinMerge深度解析:开源免费的文件与文件夹比较利器

在文件与文件夹比较工具中,WinMerge凭借其开源免费、功能全面的特点,赢得了广大用户的喜爱。本文将对WinMerge进行深度解析,帮助大家更好地了解这款工具。 一、开源免费,持续更新 WinMerge是一款专为Windows设计的开源免费文件与文件夹比较工具,自2000年诞生以来,至今已…

OpenCV形态学操作

1.1. 形态学操作介绍 初识: 形态学操作是一种基于图像形状的处理方法,主要用于分析和处理图像中的几何结构。其核心是通过结构元素(卷积核)对图像进行扫描和操作,从而改变图像的形状和特征。例如: 腐蚀&…

PHP旅游门票预订系统小程序源码

🌍 旅游门票预订系统:一站式畅游新体验,开启您的梦幻旅程 🌟 一款基于ThinkPHPUniapp精心雕琢的旅游门票预订系统,正翘首以待,为您揭开便捷、高效、全面的旅游预订新篇章!它超越了传统预订平台…

第8章作业

接口ip配置 r2 [r2]interface GigabitEthernet 0/0/0 [r2-GigabitEthernet0/0/0]ip address 13.0.0.3 24 [r2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1 [r2-GigabitEthernet0/0/1]ip address 100.1.1.254 24 [r2-GigabitEthernet0/0/1]interface GigabitEthernet…

连续学习、增量学习有哪些应用场景?

游戏场景 在游戏环境中,智能体需要不断学习如何在复杂的环境中取得高分。例如: Atari游戏:智能体通过观察游戏画面(状态)并输出操作(动作)来玩游戏。由于游戏的动态性和复杂性,智能体…

java项目之学术成果管理系统源码(ssm+前端+mysql)

项目简介 学术成果管理系统实现了以下功能: 宠物医院信息管理系统的主要使用者分为管理员:个人中心、用户管理、医生管理、医学知识管理、科室信息管理、医生信息管理、预约挂号管理、医嘱信息管理、药品信息管理、订单信息管理、留言板管理、系统管理…

【Spring+MyBatis】_图书管理系统(下篇)

图书管理系统上篇、中篇如下: 【SpringMyBatis】_图书管理系统(上篇)-CSDN博客 【SpringMyBatis】_图书管理系统(中篇)-CSDN博客 目录 功能5:删除图书 6.1 约定前后端交互接口 6.2 后端接口 6.3 前端…

《STL 六大组件之容器探秘:深入剖析 string》

目录 一、string 类简介二、string 类的常用接口1. 构造函数(constructor function)2. 与容量相关的接口(capacity)3. 与迭代器有关的接口(iterator)4. 与元素访问有关的接口(element access&am…

深⼊理解指针(1)

1. 内存和地址 1.1 内存 我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的 数据也会放回内存中。 那这些内存空间如何高效的管理呢? 其实也是 把内存划分为⼀个个的内存单元&…

解决element-ui的el-select使用filterable属性时,下拉框展开后,点击箭头图标收不回去问题

问题&#xff1a;当el-select下拉组件设置filterable属性时&#xff0c;下拉框展开后&#xff0c;再点击箭头图标下拉框收不回去了 解决方法&#xff1a; 在el-select标签上新增事件 visible-change“selectVisibleChange” focus"selectFocus"的处理 <el-select…