nvm实现nodejs的版本管理

 部分老旧项目需要使用低版本的node,网上很多是无效的,高版本无法直接安装低版本node,但是低版本nodejs可以安装部分高版本node,从而达到升级效果。

NVM安装
nvm是什么
nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。

注意:确保之前nodeJs卸载干净(安装路径以及环境变量,都要清理干净,否则安装后无效)

一、NVM的安装和配置 

 1、下载地址:  

Releases · coreybutler/nvm-windows · GitHub

2、安装

自定义安装路径

其他的一直next ,输入邮件步骤直接跳过

image-20231117105855047

.

image-20231117110141183

.

3、手动配置环境变量

如果使用的exe安装,此步骤忽略。使用zip安装,则需要手动配置环境变量。

4、base command【主要验证 nvm 是否安装成功】

# 查看 nvm 版本,version 可简写成 小v
nvm version
nvm v
# 显示 node 是运行在 32 位还是 64 位
nvm arch

重头戏来啦

# 显示已经安装的列表,list 可简化为 ls
nvm list
# 显示远程可安装的列表,list 也可简化为 ls
nvm list available
# 卸载指定版本 node
nvm uninstall [version]
# 使用指定版本 node
nvm use [version]

image-20231116105530304

.

image-20231116105919918

.

玩玩就好了,基本不会用到

# 开启 node.js 版本管理
nvm on
# 关闭 node.js 版本管理
nvm off

image-20231116104926531

5、configure taobao mirror【配置下载镜像】

在 nvm 的安装路径下,找到 settings.txt,在后面加上这两行,设置国内淘宝镜像源:

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

提醒
阿里云开源镜像站:

https://npm.taobao.org/【该域名在 2022.06.30 号正式下线和停止 DNS 解析,新域名npmmirror.com】

image-20231116110240298

.

image-20240202205301489

问题:为什么要配置镜像?

答:配置完国内的镜像后,npm install xxx 的下载速度会很快!

二、node 的安装与配置

1、install node

nvm list available
nvm install 16
nvm list
nvm use 16

小提示:不要安装 node 的奇数版本!LTS 一般就是偶数版本。

image-20231116111322142

.

image-20231117090853114

.

2、修改 npm 默认镜像源【新增内容】

方式一:手动修改

  1. 修改 npm 镜像源为淘宝镜像源
npm config set registry http://registry.npmmirror.com
  1. 检查是否成功
npm config get registry

image-20240202212343592

.

方式二:安装 nrm

前提:需要先安装 node
请参考下 nrm 安装使用教程 这篇文章.

3、配置 node 的 prefix(全局路径)和 cache(缓存路径)

3.1、【非必须,可直接跳过】选择需要使用的 node 版本,新建两个文件夹

image-20231116132013883

.

image-20231116132131610

.每次使用 nvm 安装 node 都需要手动创建这两个文件夹吗?

答:并不是每次都需要自己手动创建,但是第一次推荐你手动创建,以后当你设置 prefix 和 cache 后,系统会自动创建。

node_global:npm install 下载的全局插件

node_cache:node 的缓存

3.2、【关键】设置全局模板(prefix)和缓存文件(cache)的存放路径:

# npm config set cache "%NVM_SYMLINK%\node_cache"
npm config set cache "D:\nvm\nodejs\node_cache"
# npm config set prefix "%NVM_SYMLINK%\node_global"
npm config set prefix "D:\nvm\nodejs\node_global"
# 可编辑 .npmrc 配置文件
npm config edit
# 查看部分 .npmrc 配置信息
npm config ls

image-20231116133715188

.

image-20231116133858389

.

注意:

  1. 引号里面换自己的路径
  2. 引号里面的路径是软链接(nodejs)的路径

每次使用 nvm 安装 node 都需要配置 prefix 和 cache 吗?

答:并不需要每次都设置。配置的 prefix 和 cache 的信息都在 C:\Users\zhuang\.npmrc 文件里

4、配置 node 环境变量(通用配置,仅需一次配置)

版本一:【推荐】简单

image-20231117125538903

.

版本二:【跳过就行】复杂

问题:每次使用 nvm 安装 node 都需要配置环境变量吗?

答:配置时多注意注意 NODE_PATH 值的配置就可以避免多次配置环境变量。不然每次更换 node 都需要配置环境变量。

NVM_HOME:nvm 地址目录

NVM_SYMLINK:nvm 配置 nodejs 的软链接,nvm use 版本号 时会自动创建

安装 nvm 时 NVM_HOME 和 NVM_SYMLINK 一般会自动配置上,不需要我们手动配置,非常舒心!

NODE_PATH:需要万分注意!!!,格式是:NVM_SYMLINK 路径 + \node_global

这样配置的话你就只需要配置一次,以后切换其他版本的 node 时也不需要重新配置 NODE_PATH 环境变量,方便使用。

注意:下图中 NODE_PATH 的值需要手动配置,其中 %NVM_SYMLINK% 需要换上具体的值,然后加上 \node_global

eg. 我的 NODE_PATH 配置为

D:\nvm\nodejs\node_global

image-20231117102641335

.

image-20231117125804868

.

5、配置完成后,输入以下命令进行验证

# 查看 node 版本,若返回版本号,node 可用
node -v
# 查看 npm 版本,若返回版本号,npm 可用
npm -v

如果返回了相应的版本号,则证明成功。

image-20231116131617422

.

三、【选学】扩展:nvm 如何实现 node 任意切换

image-20231117104701081

.

image-20231117105022521

.

image-20231117105328963

.


nvm下载链接、安装教程、nodeJs安装教程: nvm文档手册
nvm常见问题
如果下载node过慢,请更换国内镜像源, 在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址。

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

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

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

相关文章

基于华为ENSP的OSPF接口网络类型深入浅出(4)

本篇技术博文摘要 🌟 OSPF的接口在不同网络类型下的工作方式;不同网络类型下的报文通告方式深入浅出hub-spoke架构 引言 📘 在这个快速发展的技术时代,与时俱进是每个IT人的必修课。我是肾透侧视攻城狮,一名什么都会一…

【深度学习】多目标融合算法(二):底部共享多任务模型(Shared-Bottom Multi-task Model)

目录 一、引言 1.1 往期回顾 1.2 本期概要 二、Shared-Bottom Multi-task Model(SBMM) 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 三、总结 一、引言 在朴素的深度学习ctr预估模型中(如DNN),通常以一个行…

TVbox 手机、智能电视节目一网打尽

文章目录 一、简要介绍二、优点三、下载地址 一、简要介绍 TVbox是目前最火爆的多端、多源的电视影音工具,是一款开源的自定义添加站源的影音工具。TVBox,支持电视频道直播。一款TV端影视工具,软件本身不具有任何影视资源,但可以…

2025新春烟花代码(二)HTML5实现孔明灯和烟花效果

效果展示 源代码 <!DOCTYPE html> <html lang"en"> <script>var _hmt _hmt || [];(function () {var hm document.createElement("script");hm.src "https://hm.baidu.com/hm.js?45f95f1bfde85c7777c3d1157e8c2d34";var …

ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技

本文核心 正常跑步动画端枪动画跑起来也端枪 正常跑步动画 端枪动画的上半身 跑起来也端枪 三步走&#xff1a; 第一步制作动画蒙太奇和插槽 第二步动画蓝图选择使用上半身动画还是全身动画&#xff0c;将上半身端枪和下半身走路结合 第三步使用动画蒙太奇 1.开始把&a…

YOLOv8实战人员跌倒检测

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对人员跌倒目标数据集进行训练和优化&#xff0c;该数据集包含丰富人员跌倒图像样…

C#进阶-在Ubuntu上部署ASP.NET Core Web API应用

随着云计算和容器化技术的普及&#xff0c;Linux 服务器已成为部署 Web 应用程序的主流平台之一。ASP.NET Core 作为一个跨平台、高性能的框架&#xff0c;非常适合在 Linux 环境中运行。本篇博客将详细介绍如何在 Linux 服务器上部署 ASP.NET Core Web API 应用&#xff0c;包…

【网页自动化】篡改猴入门教程

安装篡改猴 打开浏览器扩展商店&#xff08;Edge、Chrome、Firefox 等&#xff09;。搜索 Tampermonkey 并安装。 如图安装后&#xff0c;浏览器右上角会显示一个带有猴子图标的按钮。 创建用户脚本 已进入篡改猴管理面板点击创建 脚本注释说明 name&#xff1a;脚本名称。…

数据结构之双链表(C语言)

​ 数据结构之双链表&#xff08;C语言&#xff09; 1 链表的分类2 双向链表的结构3 双向链表的节点创建与初始化3.1 节点创建函数3.2 初始化函数 4 双向链表插入节点与删除节点的前序分析5 双向链表尾插法与头插法5.1 尾插函数5.2 头插函数 6 双向链表的尾删法与头删法6.1尾删…

【0x007A】HCI_Write_Secure_Connections_Host_Support命令详解

目录 一、命令概述 二、命令格式及参数 2.1. HCI_Write_Secure_Connections_Host_Support命令格式 2.2. Secure_Connections_Host_Support 三、生成事件及参数 3.1. HCI_Command_Complete事件格式 3.2. Status 四、命令执行流程梳理 4.1. 命令发送阶段 4.2. 命令接收…

第一节 环境搭建

Visual Studio Visual Studio 2019 密码&#xff1a;gd24 组件 安装即可

《Spring Framework实战》4:Spring Framework 文档

欢迎观看《Spring Framework实战》视频教程 概述 历史&#xff0c; 设计理念&#xff0c; 反馈&#xff0c; 开始。 核心技术 IoC 容器、事件、资源、i18n、 验证、数据绑定、类型转换、SpEL、AOP、AOT。 测试 Mock 对象、TestContext 框架、 Spring MVC 测试&#xff0c;…

【adb】5分钟入门adb操作安卓设备

ADB&#xff08;Android Debug Bridge&#xff09; 是一个多功能的命令行工具&#xff0c;用于与 Android 设备进行交互、调试和管理。它提供了对设备的直接控制&#xff0c;能够帮助开发者进行调试、安装应用、传输文件等。 目录 将设备和电脑连接 adb shell 文件的基本操…

Tauri教程-基础篇-第二节 Tauri的核心概念上篇

“如果结果不如你所愿&#xff0c;就在尘埃落定前奋力一搏。”——《夏目友人帐》 “有些事不是看到了希望才去坚持&#xff0c;而是因为坚持才会看到希望。”——《十宗罪》 “维持现状意味着空耗你的努力和生命。”——纪伯伦 Tauri 技术教程 * 第四章 Tauri的基础教程 第二节…

Ubuntu 下载安装 elasticsearch7.17.9

参考 https://blog.csdn.net/qq_26039331/article/details/115024218 https://blog.csdn.net/mengo1234/article/details/104989382 过程 来到 Es 的版本发布列表页面&#xff1a;https://www.elastic.co/downloads/past-releases#elasticsearch 根据自己的系统以及要安装的…

深度学习与计算机视觉 (博士)

文章目录 零、计算机视觉概述一、深度学习相关概念1.学习率η2.batchsize和epoch3.端到端(End-to-End)、序列到序列(Seq-to-Seq)4.消融实验5.学习方式6.监督学习的方式(1)有监督学习(2)强监督学习(3)弱监督学习(4)半监督学习(5)自监督学习(6)无监督学习(7)总结&#xff1a;不同…

深入Android架构(从线程到AIDL)_18 SurfaceView的UI多线程02

目录 2、 使用SurfaceView画2D图 范例一 设计GameLoop(把小线程移出来) 范例二 2、 使用SurfaceView画2D图 范例一 以SurfaceView绘出Bitmap图像设计SpriteView类别来实作SurfaceHolder.Callback接口首先来看个简单的程序&#xff0c;显示出一个Bitmap图像。这个图像就构…

数据库相关面试重点知识

一、Mysql索引 1.索引的本质 索引是帮助 Mysql 高效获取数据的排好序的数据结构。 索引的数据结构&#xff1a; 二叉树红黑树Hash表B-Tree&#xff08;BTree&#xff09; Question&#xff1a;为什么加入索引之后效率就会变高呢&#xff1f; 以上图为例&#xff0c;如果…

ansible-api分析(VariableManager变量)

一. 简述&#xff1a; ansible是一个非常强大的工具&#xff0c;可以支持多种类型(字符,数字,列表&#xff0c;字典等)的变量。除了有大量的内置变量及fact变量&#xff0c;也可以通过多种方式进行变量自定义 。不同方式定义的变量&#xff0c;优先级也不太一样&#xff0c;之…

【Uniapp-Vue3】image媒体组件属性

如果我们想要在页面上展示图片就需要使用到image标签。 这部分最重要的是图片的裁剪&#xff0c;图片的裁剪和缩放属性&#xff1a; mode 图片裁剪、缩放的模式 默认值是scaleToFill 我将用两张图片对属性进行演示&#xff0c;一张是pic1.jpg&#xff08;宽更长&#xf…