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

news2024/11/24 7:09:15

目录

  • 前言
  • 一、卸载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镜像】

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

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

相关文章

led显示屏怎么连接电脑主机

要将LED显示屏连接到计算机主机,通常需要使用适当的接口和连接线。以下是常见的连接方法: HDMI接口:大多数现代计算机和LED显示屏都配备了HDMI接口。您可以使用HDMI连接线将计算机主机的HDMI输出端口连接到LED显示屏的HDMI输入端口。这种连接…

leetcode--环形链表.找到入环节点(java)

环形链表II 环形链表.找到入环节点题目描述解题思路 环形链表.找到入环节点 LeetCode 142:环形链表II 可以在这里测试 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节…

深度解析线程的正确停止方法

一、解惑 1. 什么情况下,线程需要被停止? 线程和任务被创建和启动之后,大部分情况下都是自然运行到结束的,自然停止,但有些情况会需要用到停止线程,如: 用户主动取消 服务被快速关闭 运行出…

【C++实现插入排序、希尔排序、冒泡排序、快速排序、选择排序】

使用C实现来插入排序、希尔排序、冒泡排序、快速排序、选择排序算法。 一、插入排序 插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好…

2023爱分析·中国面向开发者的低代码开发平台市场厂商评估报告

01 研究范围定义 “低代码”是一种可视化的应用开发方式,相对于传统编写代码的“纯代码”开发方式,低代码开发平台可以减少代码编写量或不使用代码编写进行应用的开发。随着技术革新,大模型也为低代码开发平台发展指明了新方向。从开发者与开…

单片机GD32F303RCT6 (Macos环境)开发 (二十八)—— 蓝牙透传模块HC-08 Android App开发

蓝牙透传模块HC-08 Android App开发 1、App整体开发思路 a、首先要申请权限,采用动态申请的方式,用户点击确认后方可操作蓝牙。 b、搜索蓝牙,之前的版本用startLeScan函数搜索蓝牙,虽然高版本中依然可用,但是google已…

什么时候该停止使用Scrum?

01、TL;DR:一个团队什么时候应该停止使用Scrum? 什么时候才能超越Scrum?毕竟许多类似思想、实践等事务迟早会过时;那为什么Scrum会是个例外?此外,我们不是通过实践Scrum来获得报酬,而是在既定的约束条件下解决客户的问题,同时又能为组织的…

( 链表) 707. 设计链表 ——【Leetcode每日一题】

❓707. 设计链表 难度:中等 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还…

ubuntu 安装ffmpeg

一、我的编译环境 ubuntu 22 ffmpeg 4.36 二、安装必要的依赖 sudo apt-get update sudo apt-get install -y \autoconf \automake \build-essential \cmake \git-core \libass-dev \libfreetype6-dev \libsdl2-dev \libtool \libva-dev \libvdpau-dev \libvorbis-dev \lib…

160743-62-4,DMG PEG2000,1,2-二肉豆蔻酰-rac-甘油-3-甲氧基聚乙二醇2000

DMG PEG2000,DMG-mPEG2000,1,2-二肉豆蔻酰-rac-甘油-3-甲氧基聚乙二醇2000 Product structure: Product specifications: 1.CAS No:160743-62-4 2.Molecular formula: C34H66O 3.Molecular weight&#xff…

Ubuntu18.04 dash to dock启动器安装教程

1.安装主题工具:GNOME Tweaks sudo apt-get update sudo apt-get install gnome-tweak-tool2.手动安装dash-to-dock插件 Dash-to-dock不支持3.32以上版本的gnome,git clone dash to dock的仓库 yeatsyeats-virtual-machine:~/Tools$ git clone https:/…

Axure教程—垂直方向多色图(中继器)

本文将教大家如何用AXURE制作动态垂直方向多色图 一、效果介绍 如图: 预览地址:https://9fxtte.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87822547?spm1001.2014.3001.5503 二、功能介绍 简单填写中继…

mfc100.dll丢失如何解决?修复mfc100.dll的方法分享

mfc100.dll是Microsoft Visual C 2010中的一个动态链接库文件。如果该文件丢失,将会导致某些应用程序无法正常运行。在本文中,我们将探讨关于mfc100.dll丢失的问题,以及如何解决它。 一.什么是mfc100.dll mfc100.dll是Microsoft Visual C 20…

头羊部落亮相第26届北京餐食会

第26届AIFE2023亚洲(北京)国际食品饮料暨餐饮食材展览会(简称:BCFE北京餐食会) 于2023年5月23-25日在北京中国国际展览中心火热召开。顺应时代发展下的餐饮新潮流,北京餐食会首次聚焦预制菜市场,为彰显预制…

Web安全:代码执行漏洞 测试.

Web安全:代码执行漏洞 测试 攻击者可以通过构造恶意输入来欺骗应用程序执行恶意代码。这种漏洞通常出现在应用程序中使用动态语言(如 PHP、Python、Ruby 等)编写的代码中,因为这些语言允许在运行时动态执行代码。攻击者可以通过构造特定的输入来欺骗应用…

分布式事务的21种武器 - 5

在分布式系统中,事务的处理分布在不同组件、服务中,因此分布式事务的ACID保障面临着一些特殊难点。本系列文章介绍了21种分布式事务设计模式,并分析其实现原理和优缺点,在面对具体分布式事务问题时,可以选择合适的模式…

经典组件知识(zookeeper,kafka,ngix)

关于zookeeper的具体介绍 优化的点可以在于zookeeper吗&#xff1f; 如何安装使用&#xff1f; #include <zookeeper/zookeeper.h> 1、先配置java环境JDK&#xff0c;因为需要用java编译&#xff1b; 2、下载zk源码&#xff0c;解压&#xff1b; 3、重命名配置文件zoo_sa…

5000 字手把手实战|Kubernetes+极狐GitLab CI,获得极致 CI/CD 体验

目录 极狐GitLab CI K8s 架构解析 极狐GitLab CI 流程图 流程详解 极狐GitLab CI K8s 架构优点 开启极狐GitLab CI K8s 实战 环境准备 记录注册信息 获取极狐GitLab Runner 绑定 docker.sock 配置缓存 安装极狐GitLab Runner 集成 CI 定义文件 注意事项 配置…

Python实战基础11-函数

1 函数的创建于调用 1.1 创建一个函数 创建函数也称为定义函数&#xff0c;定义函数的格式如下&#xff1a; def functionname([parameterlist]): [comments] [functionbody] 参数说明&#xff1a; functionname&#xff1a;函数名称&#xff0c;在调用函数时使用。 paramete…

用echarts绘制的柱状图、折柱结合图,源码文末免费拿!

文章目录 Apache EchartsNPM 安装 ECharts在线定制 ECharts使用 Echarts 绘制基础柱状图绘制带背景的柱状图绘制带背景的柱状图绘制多条柱状图绘制条形柱状图绘制带标记的柱状图绘制折线图和柱状图绘制多轴折线图和柱状图源码地址 Apache Echarts 本文中的所有代码&#xff0c…