gnvm切换node版本号

1. gnvm下载官网

GNVM - Node.js version manager on Windows by Go

2. 安装

        2.1 不存在 Node.js 环境

下载并解压缩 gnvm.exe 保存到任意文件夹,并将此文件夹加入到环境变量 Path。

        2.2 存在 Node.js 环境

下载并解压缩 gnvm.exe 保存到 Node.js 所在的文件夹。

        2.3 查看 Node.js 文件地址

C:\Users\my_name>where node
C:\Program Files\nodejs\node.exe

3. 使用 gnvm

        3.1 查看所有命令及说明

C:\Users\my_name>gnvm -h
Usage of gnvm:Usage:gnvm [flags]gnvm [command]Available Commands:config                    Setter and getter .gnvmrc fileuse                       Use any the local already exists of Node.js versionls                        Show all [local] [remote] Node.js versioninstall                   Install any Node.js versionuninstall                 Uninstall local Node.js version and npmupdate                    Update Node.js latest versionnpm                       NPM version managementsession                   Set any local Node.js version to session Node.js versionsearch                    Search and Print Node.js version detail usage wildcard mode or regexp modenode-version              Show [global] [latest] Node.js versionreg                       Add config property [noderoot] to Environment variable [NODE_HOME]version                   Print GNVM version numberhelp [command]            Help about any commandAvailable Flags:--help=false: help for gnvmUse "gnvm help [command]" for more information about that command.

        3.2 安装指定 node 版本

C:\Users\my_name>gnvm install 22.8.0
Start download Node.js versions [22.8.0].
22.8.0: 100% [==================================================>] 3s
--------
End download.

        3.3 查看已下载的nodejs版本

v20.5.0 -- global 为当前使用的node版本

C:\Users\my_name>gnvm ls
Notice: gnvm.exe root is C:\Program Files\nodejs\\
v16.13.1
v16.13.1 -- x86
v20.5.0 -- global
v20.5.0 -- x86
v22.8.0

        3.4 切换 node.js 版本(切换时不能运行项目)

C:\Users\my_name>gnvm use 20.5.0
Set success, global Node.js version is 20.5.0.# 查看node版本
C:\Users\my_name>node -v
v20.5.0

        3.5 搜索当前可安装的node和npm版本(两者成对应关系)

C:\Users\my_name>gnvm search *.*.*
Search Node.js version rules [*.*.*] from http://npm.taobao.org/mirrors/node/index.json, please wait.
Error: 'gnvm search' get url http://npm.taobao.org/mirrors/node/index.json error, Error: Error: util/print.go an error has occurred. Error: interface conversion: interface is curl.CurlError, not string

发现报错,查不出来

                3.5.1 尝试更换为淘宝镜像地址
# 尝试更换为淘宝镜像地址
C:\Users\my_name>gnvm config registry TAOBAO
Set success, registry new value is http://npm.taobao.org/mirrors/node/C:\Users\my_name>npm config get registry
https://registry.npmmirror.com/# 还是查不出来
C:\Users\my_name>gnvm search *.*.*
Search Node.js version rules [*.*.*] from http://npm.taobao.org/mirrors/node/index.json, please wait.
Error: 'gnvm search' get url http://npm.taobao.org/mirrors/node/index.json error, Error: Error: util/print.go an error has occurred. Error: interface conversion: interface is curl.CurlError, not string
                3.5.2 如果淘宝镜像出现问题,那么更换默认地址
C:\Users\14249>gnvm config registry DEFAULT
Set success, registry new value is http://nodejs.org/dist/C:\Users\14249>npm config get registry
https://registry.npmmirror.com/C:\Users\14249>gnvm search *.*.*
Search Node.js version rules [*.*.*] from http://nodejs.org/dist/index.json, please wait.
+--------------------------------------------------+
| No.   date         node ver    exec      npm ver |
+--------------------------------------------------+1     2025-03-13   23.10.0     x86 x64   10.9.22     2025-02-26   23.9.0      x86 x64   10.9.23     2025-02-13   23.8.0      x86 x64   10.9.24     2025-01-30   23.7.0      x86 x64   10.9.25     2025-01-21   23.6.1      x86 x64   10.9.26     2025-01-07   23.6.0      x86 x64   10.9.27     2024-12-19   23.5.0      x86 x64   10.9.28     2024-12-10   23.4.0      x86 x64   10.9.29     2024-11-20   23.3.0      x86 x64   10.9.010    2024-11-11   23.2.0      x86 x64   10.9.011    2024-10-24   23.1.0      x86 x64   10.9.0

        3.6 查看指定版本的node与npm对应版本

C:\Users\my_name>gnvm search 20.*.*
Search Node.js version rules [20.*.*] from http://nodejs.org/dist/index.json, please wait.
+--------------------------------------------------+
| No.   date         node ver    exec      npm ver |
+--------------------------------------------------+1     2025-03-13   20.19.0     x86 x64   10.8.22     2025-02-10   20.18.3     x86 x64   10.8.23     2025-01-21   20.18.2     x86 x64   10.8.24     2024-11-20   20.18.1     x86 x64   10.8.25     2024-10-03   20.18.0     x86 x64   10.8.26     2024-08-21   20.17.0     x86 x64   10.8.27     2024-07-24   20.16.0     x86 x64   10.8.18     2024-07-08   20.15.1     x86 x64   10.7.09     2024-06-20   20.15.0     x86 x64   10.7.010    2024-05-28   20.14.0     x86 x64   10.7.011    2024-05-09   20.13.1     x86 x64   10.5.212    2024-05-07   20.13.0     x86 x64   10.5.213    2024-04-10   20.12.2     x86 x64   10.5.014    2024-04-03   20.12.1     x86 x64   10.5.015    2024-03-26   20.12.0     x86 x64   10.5.016    2024-02-13   20.11.1     x86 x64   10.2.417    2024-01-09   20.11.0     x86 x64   10.2.418    2023-11-22   20.10.0     x86 x64   10.2.319    2023-10-24   20.9.0      x86 x64   10.1.020    2023-10-13   20.8.1      x86 x64   10.1.021    2023-09-28   20.8.0      x86 x64   10.1.022    2023-09-18   20.7.0      x86 x64   10.1.023    2023-09-07   20.6.1      x86 x64   9.8.124    2023-08-23   20.6.0      x86 x64   9.8.125    2023-08-09   20.5.1      x86 x64   9.8.026    2023-07-19   20.5.0      x86 x64   9.8.027    2023-07-04   20.4.0      x86 x64   9.7.228    2023-06-20   20.3.1      x86 x64   9.6.729    2023-06-08   20.3.0      x86 x64   9.6.730    2023-05-16   20.2.0      x86 x64   9.6.631    2023-05-03   20.1.0      x86 x64   9.6.432    2023-04-17   20.0.0      x86 x64   9.6.4
+--------------------------------------------------+

        3.7 查看具体版本的node与npm对应版本

C:\Users\my_name>gnvm search 20.6.1
Search Node.js version rules [20.6.1] from http://nodejs.org/dist/index.json, please wait.
+--------------------------------------------------+
| No.   date         node ver    exec      npm ver |
+--------------------------------------------------+1     2023-09-07   20.6.1      x86 x64   9.8.1
+--------------------------------------------------+

4. 切换 node 版本后项目无法运行

        4.1 原因

网上查询到原因为node.js 的版本问题

因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在升级 nodejs 版本后会报错。

1. 推荐:修改package.json,在相关构建命令之前加入SET NODE_OPTIONS=--openssl-legacy-provider

"scripts": {"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve","build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
},

这种可以一劳永逸,以后直接通过npm执行scripts里面的命令即可。不管是项目迭代,还是团队开发,这种都比较有效。

2. 当次运行的命令窗口有效:在你当前文件的cmd命令窗口输入:SET NODE_OPTIONS=--openssl-legacy-provider, 回车后输入 npm 运行命令

这种做法,就是每次运行都要输入SET NODE_OPTIONS=--openssl-legacy-provider,来告诉nodejs,别使用最新的SSL3.0,还是使用以前旧版本的。

 3.就是nodejs版本回退到16版本,这样就可以直接运行了。

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

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

相关文章

目标检测 AP 计算 实例 python

以下是使用 Python 实现目标检测中 ‌Average Precision (AP)‌ 计算的完整实例,包含代码和注释。这里以 ‌Pascal VOC 标准‌ 为例(IoU阈值0.5)。 步骤1:准备数据 假设: gt_boxes: 真实标注框列表,格式为 …

AWS用Glue读取S3文件上传数据到Redshift,再导出到Quicksight完整版,含VPC配置

1. 项目背景 AWS的官方文档,关于Glue和Vpc配置部分已经比较旧了,按照官方文档配置的流程始终跑不通,花了一番时间和波折后,才终于完整的跑通了。 在数据分析和商业智能(BI)领域,我们常需要将存…

SpringBoot详细教程(持续更新中...)

SpringBoot 一、概述 Springboot有哪些特点呢?或者说它跟Spring比有哪些优点呢? 1、起步依赖 通俗的说,就是一个依赖包含了很多个依赖;好处是引入所需的依赖更加简便,而且有效避免了依赖之间的版本冲突问题&#xf…

亚马逊玩具品类技术驱动型选品策略:从趋势洞察到合规基建

一、全球玩具电商技术演进趋势 (技术化重构原市场背景) 数据可视化分析:通过亚马逊SP-API抓取2023年玩具品类GMV分布热力图 监管技术升级: 美国CPSC启用AI质检系统(缺陷识别准确率92.7%) 欧盟EPR合规接口…

spring boot 整合redis

1.在pom文件中添加spring-boot-starter-data-redis依赖启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.编写三个实体类 RedisHash("p…

python 语法篇(一)

目录 1 正则匹配注意点11.1 正则匹配字符串写法1.2 创建re函数&#xff08;1&#xff09;re.search()--搜索第一个匹配项&#xff08;2&#xff09;re.match() - 从字符串开头匹配&#xff08;3&#xff09;re.findall() - 返回所有匹配项的列表&#xff08;4&#xff09;re.fi…

深度学习Note.4(机器学习实践)

线性回归 零. 1.paddle库的一些API paddle.rand(shape,dtype None, name None) *随机生成符合均匀分布的Tensor paddle.nromal(mean 0.0, std 1.0, shape None, name None) *随机生成符合正态分布的Tensor *输入正态分布均值&#xff0c;标准差&#xff0c; 生成结果的…

UE5学习笔记 FPS游戏制作29 更换武器时更换武器的图标

文章目录 制作物体图标UI添加获取武器图标的方法使用事件分发器&#xff0c;通知UI要换枪定义事件分发器调用事件分发器注册事件分发器 制作物体图标UI 在Fpp-UI上添加一个图片&#xff0c;改名为五weaponIcon&#xff0c;勾选SizeToContent,锚点放在右下角&#xff0c;对齐改…

RCE(自增、取反、异或)

自增: 也就是说&#xff0c;a > b&#xff0c;b > c... 所以&#xff0c;我们只要能拿到一个变量&#xff0c;其值为a&#xff0c;通过自增操作即可获得a-z中所有字符。 无字母数字构造&#xff1a; 所有敏感字符串&#xff08;ASSERT、_POST&#xff09;通过自增动态生…

从架构角度谈谈云原生架构

1、云原生架构起源 随着云服务商的成熟&#xff0c;客户面临着将服务直接使用云平台的服务部署在云平台上&#xff0c;或者采用本地和云上混合部署的模式来对外提供服务&#xff0c;从解决方案的角度来说&#xff0c;采用云原生架构的优点有&#xff1a; 可以利用云服务的管理…

Zcanpro搭配USBCANFD-200U在新能源汽车研发测试中的应用指南(周立功/致远电子)

——国产工具链的崛起与智能汽车测试新范式 引言&#xff1a;新能源汽车测试的国产化突围 随着新能源汽车智能化、网联化程度的提升&#xff0c;研发测试面临三大核心挑战&#xff1a;多协议融合&#xff08;CAN FD/LIN/以太网&#xff09;、高实时性数据交互需求、复杂工况下…

【Verilog】实验十 带倒计时交通灯控制电路设计

目录 一、实验目的 二、实验环境 三、实验任务 四、实验原理与实验步骤 1. 实验原理 2. 实验步骤 五、实验思考 代码 TOP.v trafic2_2.v shumaguan.v clk_div.v 一、实验目的 1. 掌握同步有限状态机的设计方法。 2. 采用状态机的设计方法&#xff0c;设计实现带倒…

Linux : System V 共享内存

目录 一 前言 二 共享内存概念 三 共享内存创建 四 查看共享内存 五 共享内存的删除 六 共享内存的关联 七 共享内存去关联 八 共享内存的使用&#xff08;通信&#xff09; 九 共享内存的特点 一 前言 共享内存区是最快的IPC形式&#xff08;进程间通信&#xff1…

Spring Cloud 2023.x安全升级:OAuth2.1与JWT动态轮换实战

引言&#xff1a;当安全遇上云原生&#xff0c;零停机密钥轮换成为刚需 在微服务架构中&#xff0c;OAuth2.1与JWT已成为身份验证的黄金标准&#xff0c;但传统方案存在两大痛点&#xff1a; 密钥轮换风险&#xff1a;手动替换JWT密钥需重启服务&#xff0c;导致短暂鉴权中断&…

创建私人阿里云docker镜像仓库

一.登录阿里云 https://cr.console.aliyun.com/cn-hangzhou/instances 二.创建个人实例 【实例列表】 》【创建个人实例】 》【设置Registry登录密码】 三.创建命名空间 步骤&#xff1a;【个人实例】》【命名空间】》【创建命名空间】 注:一个账号最多可以创建3个命名空…

oracle基础知识视图的定义和应用

1.1 视图的定义 视图(View)是数据库中非常重要的内容&#xff0c;在实际开发中必须学会视图的编写。 用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图是可以嵌套的。 视图的定义存在数据库中&#xff0c;与此定义相关的数据并没有再存一份于数据库中…

边缘计算:工业自动化的智能新引擎

在工业4.0的浪潮中&#xff0c;工业自动化正经历着前所未有的变革。随着物联网&#xff08;IoT&#xff09;技术的普及&#xff0c;越来越多的工业设备被连接到网络中&#xff0c;产生了海量的数据。然而&#xff0c;传统的云计算架构在处理这些实时性要求极高的工业数据时&…

12-SpringBoot3入门-项目打包和运行

1、打包 1&#xff09;打包插件 pom.xml <!--SpringBoot应用打包插件--> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plu…

【PCIE711-214】基于PCIe总线架构的4路HD-SDI/3G-SDI视频图像模拟源

产品概述 PCIE711-214是一款基于PCIE总线架构的4路SDI视频模拟源。该板卡为标准的PCIE插卡&#xff0c;全高尺寸&#xff0c;适合与PCIE总线的工控机或者服务器&#xff0c;板载协议处理器&#xff0c;可以通过PCIE总线将上位机的YUV 422格式视频数据下发通过SDI接口播放出去&…

PipeWire 音频设计与实现分析一——介绍

PipeWire 是一个基于图的媒体处理引擎&#xff0c;一个可以运行多媒体节点图的媒体服务器&#xff0c;是 Linux 的音频/视频总线&#xff0c;它管理 Linux 系统中&#xff0c;不同应用程序对音频和视频设备的共享访问。它提供了一个本地客户端音频 API&#xff0c;但也提供兼容…