nvm管理多个node版本,快速来回切换node版本

news2024/11/27 12:48:56

前言

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

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

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

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

注意安装路径的文件夹名称不要出现中文,空格等,否则后期npm使用的时候会出现符号格式不正确问题。

继续点击 Next 就行。

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

3. 配置路径和下载镜像

安装完nvm后先不要着急安装node版本。
找到nvm安装路径 =》找到 setting.txt 文件 =》新增两行信息,配置下载源
在这里插入图片描述

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

在这里插入图片描述

增加后如下,然后保存退出。

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

4. 检查nvm是否安装完成

win + R,调用cmd,输入nvm,出现下面这一堆就表示安装成功了。
在这里插入图片描述
如果安装不成功,查看之前自己安装的 node.js 有没有彻底删除、安装nvm过程中有没有漏掉什么,可重新卸载再安装一次nvm包。

四、使用nvm安装node版本

win + R,调用cmd

1.安装指定node.js版本

nvm install 14.16.0

2.nvm use 切换node版本。(如果报错,用管理员身份打开重新 nvm use 你指定的版本)

nvm use 14.16.0

3.安装完成后可以分别输入命令行 node -v 和 npm -v,检验node.js以及对应npm是否安装成功

在这里插入图片描述

4.nvm list 查看当前已安装的node.js版本,带*号的是正在使用的

在这里插入图片描述

5.删除某node.js版本

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

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

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

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

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

npm config get registry

在这里插入图片描述
是因为从 2024 年1 月 22 日,淘宝原镜像域名(registry.npm.taobao.org)的 HTTPS 证书正式到期,这就导致旧的 npm 淘宝镜像在使用时出错了,所以遇到上述问题,或者还在使用旧的 npm 淘宝镜像,直接将 npm 源切换到新的源即可

// 1. 清空缓存
npm cache clean --force
// 2. 切换新源
npm config set registry https://registry.npmmirror.com

六、 环境变量配置

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

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

2. 配置步骤

1)新增俩文件夹
首先创建"node_global" 和 “node_cache”两个文件夹进行全局安装的时候安装对应的库到这两个文件。
在nvm的 nodejs 安装路径 D:\opt\apps\nvm\nodejs 新建两个文件夹命名为 “node_global” 和 “node_cache”。
在这里插入图片描述

打开cmd命令行工具,输入以下两句操作(两个路径就是新建上面两个文件夹的路径,主要目的是方便后面window机器使用方便)

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

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

2)设置环境变量
我的电脑右键 =》属性 =》高级系统设置 =》系统属性(高级)=》 环境变量,进入环境变量对话框。
在这里插入图片描述

在这里插入图片描述

点击确定后配置完成。

七、测试安装全局模块

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

npm install -g express

在这里插入图片描述

八、遇到的问题

  1. 在安装 nvm 之前没有卸载掉 node,导致 nvm 安装完之后,node和npm都不可用。所以我们在拿到一个新电脑时候最好是先下载nvm,再安装node版本。
  2. 在第一次使用nvm安装node后,记得使用 nvm use 切换下node版本,以及用 nvm on 打开nodejs版本控制,不然这时候node和npm也都不可用。
  3. 使用 淘宝镜像 https://registry.npm.taobao.org 报错的问题,因为淘宝原镜像域名(registry.npm.taobao.org)的 HTTPS 证书正式到期; npm 淘宝镜像已经切换到了registry.npmmirror.com,使用命令行重新切换就可以了 npm config set registry https://registry.npmmirror.com

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

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

相关文章

【资源分享】Latex2024安装教程

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…

路由重分布的概念与配置

路由重分布的概念 l 路由重分布是指连接不同路由域(自治系统)的边界路由器,它在路由协议之间交换和通告路由信息 从一种协议(含静态/直连路由)到另一种协议 同一种协议的多个实例 路由重分布的背景 网络出口位置…

宝宝洗衣机买什么样的好?诚意推荐四款实力超群的婴儿洗衣机

近几年家用洗衣机标准容积的大大增加,从5Kg、6Kg升级到9Kg、10Kg。大容量洗衣机满足了家庭中清洗大件衣物、床上用品的需求。但由于普通大型洗衣机所洗衣物混杂,很多时候由于宝宝小件衣物数量不多,却也并不适合放在一起扔进大型洗衣机中清洗。…

lesson05:C++内存管理

1.内存分布 2.c中动态内存管理 3.operator new和operator delete函数 4.new和delete实现原理 1.内存分布 1.1常见的内存分布 1.2相关问题 答案:CCCAA AAADAB 我们讲以下易错的部分: 7.数组char2是在栈上开的空间,然后将"a…

golang学习笔记(net/http库基本使用)

关于net/http库 我们先看看标准库net/http如何处理一个请求。 import ("fmt""log""net/http" )var count 0func main() {http.HandleFunc("/", handler)http.HandleFunc("/count", counter)log.Fatal(http.ListenAndServ…

STM32_舵机的实战

一、配置相应的管脚 二、写代码

【OceanBase诊断调优】——hpet(高精度时钟源)引起的CPU高问题排查

最近总结一些诊断OCeanBase的一些经验,出一个【OceanBase诊断调优】专题出来,也欢迎大家贡献自己的诊断OceanBase的方法。 1. 前言 昨天在问答区帮忙排查一个用户CPU高的问题,帖子链接:《刚刚新安装的OceanBase集群,…

leetcode 221 最大正方形面积

示例 3: 输入:matrix [["0"]] 输出:0 # 最大正方形面积 def max_square(matrix):m len(matrix)n len(matrix[0])if m 0 or n 0::return Nonemax_side 1dp [[0] * (n 1) for _ in range(m 1)]for i in range(1, m 1):fo…

AI大模型探索之路-训练篇1:大语言模型微调基础认知

文章目录 前言一、微调技术概述二、微调的必要性三、大模型的微调方法四、微调过程中的技术细节五、微调后的模型评估与应用总结 前言 在人工智能的广阔研究领域内,大型预训练语言模型(Large Language Models, LLMs)已经成为推动技术革新的关…

国产麒麟v10系统下打包electron+vue程序,报错unknown output format set

报错如下: 报错第一时间想到可能是代码配置原因报错,查看代码似乎感觉没啥问题 又查看具体报错原因可能是因为icon的原因报错,后面查阅发现ico在各系统平台会不兼容,也就是ico是给win下使用的,此处改下图标格式就ok&am…

【机器学习】近邻类模型:KNN算法在数据科学中的实践与探索

近邻类模型:KNN算法在数据科学中的实践与探索 一、KNN算法的基本原理二、KNN算法的变种与改进三、KNN算法的Python实践四、总结与展望 在数据科学领域,分类和回归是两大核心问题。随着大数据时代的到来,传统参数化模型在某些复杂场景中已难以…

Selenium IDE 常见错误笔记

错误1:Failed:Exceeded waiting time for new window to appear 2000ms 这个错误通常出现在第一次运行时,有两个原因: Firefox阻止了弹出式窗口,在浏览器设置里允许这个操作即可。 有些网站设置了反扒机制,脚本运行…

数据结构复习指导之队列

文章目录 队列 考纲内容 复习提示 1.队列的基本概念 1.1队列的定义 1.2队列常见的基本操作 1.3重要考点 2.队列的顺序存储结构 2.1队列的顺序存储 2.2循环队列 2.3循环队列的操作 2.4重要考点 3.队列的链式存储结构 3.1队列的链式存储 3.2链式队列的基本操作 3…

LeetCode in Python 48. Rotate Image/Matrix (旋转图像/矩阵)

旋转图像/矩阵的重点是寻找旋转前后对应位置的坐标关系。 示例: 图1 旋转图像/矩阵的输入输出示意图 代码: class Solution:def rotate(self, matrix):n len(matrix)for i in range(n // 2):for j in range(i, n - 1 - i):topleft matrix[i][j]ma…

线上申报开放时间!2024年阜阳市大数据企业培育认定申报条件、流程和材料

2024年阜阳市大数据企业培育认定申报条件、流程和材料,线上申报开放时间整理如下 一、2024年阜阳市大数据企业培育认定申报要求 (一)经营范围 申请认定的企业应当从事以下生产经营活动: 1.从事数据收集、存储、使用、加工、传输、…

Scrapy爬虫框架入门(豆瓣电影Top 250)

文章目录 Scrapy 官网Scrapy 文档GithubScrapy 简介项目结构爬虫实现XPath 教程创建 Scrapy 项目配置用户代理网页 dom 元素 IP 代理池IP代理池作用配置IP代理池申请IP代理池 Scrapy 官网 https://scrapy.org/ Scrapy 文档 https://docs.scrapy.org/en/latest/ Github htt…

快速入门Web开发(中)后端开发(有重点)

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github gitee 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣的内容 CSDN 图片导入做的不是很好,因此如果有没有…

Oracle 数据迁移同步优化(三)

简述 CloudCanal 最近再次对其 Oracle 源端数据同步进行了一系列优化,这些优化基于用户在真实场景中的反馈,具备很强的生产级别参考意义。 本文将简要介绍这些优化项,希望带给读者一些收获。 增量事件 SCN 乱序问题MISSING_SCN 事件干扰新…

信息系统项目管理师0069:数据运维(5信息系统工程—5.2数据工程—5.2.3数据运维)

点击查看专栏目录 文章目录 5.2.3数据运维1.数据存储2.数据备份3.数据容灾4.数据质量评价与控制记忆要点总结5.2.3数据运维 数据开发利用的前提是通过合适的方式将数据保存到存储介质上,并能保证有效的访问,还要通过数据备份和容灾手段,保证数据的高可用性。数据质量管理是在…

让直播和视频通话更精彩的实时换脸神器: 亲妈都未必认识

DeepFacelive:让直播和视频通话更精彩的实时换脸神器! 你是否想在直播或视频通话时,给观众带来惊喜和欢乐?你是否想尝试一下换脸的乐趣,展现出不同的自己?如果你的答案是肯定的,那么你一定不能错…