使用nvm管理node多版本(安装、卸载nvm,配置环境变量,更换npm淘宝镜像)

目录

  • 前言
  • 一、卸载node
  • 二、nvm是什么?
  • 三、nvm安装
    • 1. 官网下载 nvm 包
    • 2. 安装 nvm-setup.exe
        • 小tips
    • 3. 配置路径和下载镜像
    • 4. 检查nvm是否安装完成
  • 四、使用nvm安装node版本
  • 五、修改npm默认镜像源为淘宝镜像
  • 六、 环境变量配置
    • 1. 设置系统变量和用户变量的作用是什么呢?
    • 2. 配置步骤
      • 1)新增俩文件夹
      • 2)设置环境变量
  • 七、测试安装全局模块
  • 八、卸载nvm
  • 九、遇到的问题

前言

文章基于 windows环境 使用nvm安装多版本nodejs。mac可能不适用。
最近公司有的项目比较老需要降低node版本才能运行,由于来回进行卸载不同版本的node比较麻烦;所以需要使用node工程多版本管理,后面自己就简单捯饬了一下nvm来管理node,顺便记录一下自己的使用过程以便于后续查找。

注意:安装nvm时不能安装任何node版本(如存在请删除后再安装nvm),再检查环境变量,如果还有node.js相关也删掉,保证系统无任何node.js 残留。

一、卸载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 包

https://github.com/coreybutler/nvm-windows/releases

在这里插入图片描述

2. 安装 nvm-setup.exe

在这里插入图片描述
在这里插入图片描述

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

继续点击 Next 就行。

小tips

安装nodejs时候默认安装的是C盘,路径也是默认的。现在想安装到D盘,但是D盘没有默认的nodejs文件夹,所以需要自己新建个nodejs文件夹。

在这里插入图片描述

3. 配置路径和下载镜像

安装完nvm后先不要着急安装node版本。

找到nvm安装路径 =》找到 setting.txt 文件 =》新增两行信息,配置下载源

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

在这里插入图片描述
增加后如下,然后保存退出。

在这里插入图片描述

第一行是 nvm安装路径
第二行是 nodejs路径
第三行是 node下载镜像
第四行是 npm下载镜像

4. 检查nvm是否安装完成

win + R,调用cmd,输入nvm,出现下面这一堆就表示安装成功了。

如果安装不成功,查看之前自己安装的 node.js 有没有彻底删除、安装nvm过程中有没有漏掉什么,可重新卸载再安装一次nvm包。

在这里插入图片描述

四、使用nvm安装node版本

win + R,调用cmd

安装完成后开始插入nodejs首先使用 nvm list available 查询可插入版本号,LST表示可插入稳定版本。【如未指定版本,建议安装LTS下的版本】

在这里插入图片描述

  1. 安装指定node.js版本
nvm install 16.14.0
  1. 安装完成后可以分别输入命令行 node -vnpm -v,检验node.js以及对应npm是否安装成功

在这里插入图片描述

  1. nvm use 切换node版本。(如果报错,用管理员身份打开重新 nvm use 你指定的版本)
nvm use 16.14.0
  1. nvm list 查看当前已安装的node.js版本,带*号的是正在使用的
nvm list
或者
nvm ls

在这里插入图片描述

  1. 删除某node.js版本
nvm uninstall node版本号  //例如:nvm uninstall 16.14.0)即可删除对应版本
  1. 比如我现在安装的是 v16.14.0 版本。

在这里插入图片描述

v16.14.0 文件内部是

在这里插入图片描述

node_modules内部是这样的

在这里插入图片描述

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

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

npm config set registry https://registry.npm.taobao.org

检查是否设置淘宝镜像成功(会返回这个地址表示成功:https://registry.npm.taobao.org)

npm config get registry

六、 环境变量配置

1. 设置系统变量和用户变量的作用是什么呢?

答:为了命令行安装包时,将包安装到自己设置的目录下。

2. 配置步骤

1)新增俩文件夹

  1. 首先创建"node_global"“node_cache”两个文件夹进行全局安装的时候安装对应的库到这两个文件。
    在nvm的 nodejs 安装路径 D:\tools\nodejs 新建两个文件夹命名为 "node_global"“node_cache”

在这里插入图片描述

  1. 打开cmd命令行工具,输入以下两句操作(两个路径就是新建上面两个文件夹的路径,主要目的是方便后面window机器使用方便)
npm config set prefix "D:\tools\nodejs\node_global"
npm config set cache "D:\tools\nodejs\node_cache"

执行成功就无任何响应,没有异常的话,就在去到 环境变量设置处。

2)设置环境变量

我的电脑右键 =》属性 =》高级系统设置 =》系统属性(高级)=》 环境变量,进入环境变量对话框。

如果环境变量未正确配置,输入node -v 会报错,系统将无法正确识别"node"命令。

需要我们设置的地方有两个:

1. 系统环境变量新增 NODE_PATH 变量
2. 用户变量修改 path 变量

  1. 在【系统变量】新建环境变量 NODE_PATH 值为 D:\tools\nodejs\node_global\node_modules
    其中D:\tools\nodejs\node_global\node_modules 就是上面创建的全局模块安装路径文件夹。
    在这里插入图片描述
  2. 修改 【用户变量】中的 path 变量
    这里我其实没有修改或者增加什么变量,是安装时候默认添加的。
    在这里插入图片描述在这里插入图片描述
  3. 另外下载完 nvm 之后,系统环境变量和用户环境变量会默认帮我们配置好 NVM_HOMENVM_SYMLINK
    在这里插入图片描述
  4. 点击确定后配置完成。

七、测试安装全局模块

测试是否环境变量是否配置成功,在cmd窗口中输入以下指定全局安装express模块,安装成功的话表示环境变量配置成功。

npm install -g express

在这里插入图片描述

八、卸载nvm

  1. 先删除你当初所安装的nvm、nodejs的文件夹即可。

在这里插入图片描述

  1. 桌面右键 此电脑 – 点击属性 – 找到高级系统设置 – 环境变量。
  2. 删除用户变量 和 系统变量中名为 NVM_HOMENVM_SYMLINK 两个变量。其他的不要改。

在这里插入图片描述

  1. 删除用户变量和系统变量中path中的 %NVM_HOME%;%NVM_SYMLINK% 两个属性,其他的不要改。
    在这里插入图片描述

九、遇到的问题

1. 在安装 nvm 之前没有卸载掉 node,导致 nvm 安装完之后,node和npm都不可用。所以我们在拿到一个新电脑时候最好是先下载nvm,再安装node版本。
2. 在第一次使用nvm安装node后,记得使用 nvm use 切换下node版本,以及用 nvm on 打开nodejs版本控制,不然这时候node和npm也都不可用。

可参考:
使用nvm管理node.js版本以及更换npm淘宝镜像源
win10环境使用nvm安装多版本nodejs并配置环境变量
window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)
安装并搭建Vue项目【安装node,设置npm镜像】

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

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

相关文章

【从零到Offer】- HashMap与HashSet

​ HashMap与HashSet是我们日常最常使用的两个集合类。在实现上,两者也有很大的相似性。HashSet基本就是对HashMap的一个简单包装。 ​ 为了更好的理解Hash结构的实现原理,从而更好的指导我们的代码使用,本文就主要对HashMap的实现及设计做分…

10 款最常用的Sketch在线插件!

Sketch 是一款高效、小巧的界面设计工具,在设计领域广受设计团队喜爱,帮助设计师创造了许多令人惊叹的作品。在使用 Sketch 时,辅助使用一些插件可以更高效地完成设计任务。Windows 也能用的「协作版 Sketch」即时设计,可作为网页…

《数据库应用系统实践》------ 校友会信息系统

系列文章 《数据库应用系统实践》------ 校友会信息系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明&#x…

Linux Kernel RTC驱动使用hwclock调试

hwclock hwclock的源码路径:sys-utils/hwclock.c 源码: if (opt & HWCLOCK_OPT_HCTOSYS)to_sys_clock(&rtcname, utc);else if (opt & HWCLOCK_OPT_SYSTOHC)from_sys_clock(&rtcname, utc);else if (opt & HWCLOCK_OPT_SYSTZ)set_…

Redis 的数据类型和命令帮助

文章结构 Redis 数据类型1. Redis全局命令(跟key有关系,而跟value无关)2. StringsGetting and setting StringsManaging counters 3. Lists(L)Basic commandsBlocking commands 4. Sets(S)Basic commands 5. Hashes(H)Basic commands 6. Sort…

软考A计划-试题模拟含答案解析-卷九

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

【WPF】数据绑定,资源字典

数据绑定 将数据与视图分开,创建MainViewModel .cs 作为数据源的处理 MainViewModel using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading…

机器学习基础知识之多模型性能对比评价方法

文章目录 1、交叉验证t检验2、Friedman检验与Nemenyi后续检验 在进行预测或分类对比实验时,通常需要比较两个或两个以上的模型性能,因此,下面将介绍两个常用的多模型性能对比评价方法,一种是交叉验证t检验,该方法主要用…

如何用二极管实现不同电压的输出?

利用二极管的单向导电性可以设计出好玩、实用的电路。本文分析限幅电路和钳位电路,是如何用二极管来实现的。 限幅电路 如下图所示,当在正半周期,并且VIN大于等于0.7V,二极管正向导通。此时,VOUT会被钳位在0.7V上。 …

Linux网络服务:PXE高效批量网络装机

目录 一、理论 1.PXE批量网络装机概述 2.搭建 PXE 远程安装服务器 3.实现Kickstart无人值守安装 二、实验 1.搭建PXE远程安装服务器 2.安装Kickstart无人值守安装 3.安装图形化界面 三、问题 1.please complete all spokes before continuing 提示 一、理论 1.PXE批…

供应链|供应商库存服务水平对零售商需求的影响

作者:Nathan Craig, Nicole DeHoratius, Ananth Raman 引用:Craig N, DeHoratius N, Raman A. The impact of supplier inventory service level on retailer demand[J]. Manufacturing & Service Operations Management, 2016, 18(4): 461-474. 文…

【JavaSE】Java基础语法(八)

文章目录 🍓1. 类和对象🍹🍹1.1 类和对象的关系🍹🍹1.2 类的定义 🍓2. 对象内存图🍹🍹2.1 单个对象内存图🍹🍹2.2 多个对象内存图2.3 多个对象指向相同内存图…

服务器性能优化方法

文章目录 服务器性能优化方法什么是服务器并发处理能力?什么方法衡量服务器的并发能力?怎么提高服务器的并发处理能力?**1,提高CPU并发计算能力**(1)多进程&多线程(2)减少进程切…

【Unity】实现无缝地图

无缝地图是沙盒游戏的标配,可以极大提升玩家体验和沉浸感。 无缝地图的实现过程还是比较复杂的,在这里做一下实现笔记 1、地图分块: 将地图划分为较小的块,例如瓦片或区块。每个块可以是一个独立的游戏对象或地形块。确定每个块的大小和位置。你可以使用Unity的Tilemap工具…

二次元的登录界面

今天还是继续坚持写博客,然后今天给大家带来比较具有二次元风格的登录界面,也只是用html和css来写的,大家可以来看看! 个人名片: 😊作者简介:一名大一在校生,web前端开发专业 &…

【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间

效果 可以选择起始时间和终止时间,并显示。 时间选择器放在van-cell的value插槽中。 用的库: https://vant-contrib.gitee.io/vant-weapp/#/home https://dayjs.fenxianglu.cn/category/ 用的组件:Cell单元格、DatetimePicker时间选择、Pop…

Linux——gdb调试器

目录 前言: 二.gdb定义及指令: 如何查看该exe文件是否为Debug版本?两种方法: 三.gdb调试: 调试指令1:l指令(小写L) run指令:运行程序,相当于VS中的直接运行不调试——可简化输入r break指令&#xff1…

解析云盘存储的优缺点:安全靠谱还是存在风险?

云盘是一种基于云计算技术的在线存储服务,用户可以通过互联网将文件上传到云端,并可以随时随地通过网络访问这些文件。 相较于传统的本地存储,云盘具有以下优势: 1.数据安全性更高:云盘使用专业的云计算技术和安全措施…

安装stable-diffusion

安装流程&#xff1a; 下载stable-diffusion源码 <https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.2.1>安装python <https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe>添加host 打开C:\Windows\System32\drivers\etc…

01Redis单线程 VS 多线程

不同版本&#xff0c;情况不同 Redis的版本很多3.x、4.x、6.x&#xff0c;版本不同架构也是不同的&#xff0c;不限定版本问是否单线程也不太严谨。 版本3.x &#xff0c;最早版本&#xff0c;也就是大家口口相传的redis是单线程 数据结构简单避免锁的开销和上下文切换可以有…