gnvm切换node版本号

news2025/4/1 9:39:21

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 file
  use                       Use any the local already exists of Node.js version
  ls                        Show all [local] [remote] Node.js version
  install                   Install any Node.js version
  uninstall                 Uninstall local Node.js version and npm
  update                    Update Node.js latest version
  npm                       NPM version management
  session                   Set any local Node.js version to session Node.js version
  search                    Search and Print Node.js version detail usage wildcard mode or regexp mode
  node-version              Show [global] [latest] Node.js version
  reg                       Add config property [noderoot] to Environment variable [NODE_HOME]
  version                   Print GNVM version number
  help [command]            Help about any command

 Available Flags:
      --help=false: help for gnvm

Use "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.2
  2     2025-02-26   23.9.0      x86 x64   10.9.2
  3     2025-02-13   23.8.0      x86 x64   10.9.2
  4     2025-01-30   23.7.0      x86 x64   10.9.2
  5     2025-01-21   23.6.1      x86 x64   10.9.2
  6     2025-01-07   23.6.0      x86 x64   10.9.2
  7     2024-12-19   23.5.0      x86 x64   10.9.2
  8     2024-12-10   23.4.0      x86 x64   10.9.2
  9     2024-11-20   23.3.0      x86 x64   10.9.0
  10    2024-11-11   23.2.0      x86 x64   10.9.0
  11    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.2
  2     2025-02-10   20.18.3     x86 x64   10.8.2
  3     2025-01-21   20.18.2     x86 x64   10.8.2
  4     2024-11-20   20.18.1     x86 x64   10.8.2
  5     2024-10-03   20.18.0     x86 x64   10.8.2
  6     2024-08-21   20.17.0     x86 x64   10.8.2
  7     2024-07-24   20.16.0     x86 x64   10.8.1
  8     2024-07-08   20.15.1     x86 x64   10.7.0
  9     2024-06-20   20.15.0     x86 x64   10.7.0
  10    2024-05-28   20.14.0     x86 x64   10.7.0
  11    2024-05-09   20.13.1     x86 x64   10.5.2
  12    2024-05-07   20.13.0     x86 x64   10.5.2
  13    2024-04-10   20.12.2     x86 x64   10.5.0
  14    2024-04-03   20.12.1     x86 x64   10.5.0
  15    2024-03-26   20.12.0     x86 x64   10.5.0
  16    2024-02-13   20.11.1     x86 x64   10.2.4
  17    2024-01-09   20.11.0     x86 x64   10.2.4
  18    2023-11-22   20.10.0     x86 x64   10.2.3
  19    2023-10-24   20.9.0      x86 x64   10.1.0
  20    2023-10-13   20.8.1      x86 x64   10.1.0
  21    2023-09-28   20.8.0      x86 x64   10.1.0
  22    2023-09-18   20.7.0      x86 x64   10.1.0
  23    2023-09-07   20.6.1      x86 x64   9.8.1
  24    2023-08-23   20.6.0      x86 x64   9.8.1
  25    2023-08-09   20.5.1      x86 x64   9.8.0
  26    2023-07-19   20.5.0      x86 x64   9.8.0
  27    2023-07-04   20.4.0      x86 x64   9.7.2
  28    2023-06-20   20.3.1      x86 x64   9.6.7
  29    2023-06-08   20.3.0      x86 x64   9.6.7
  30    2023-05-16   20.2.0      x86 x64   9.6.6
  31    2023-05-03   20.1.0      x86 x64   9.6.4
  32    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.coloradmin.cn/o/2324969.html

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

相关文章

PyTorch 深度学习实战(29):目标检测与 YOLOv12 实战

在上一篇文章中,我们探讨了对比学习与自监督表示学习。本文将深入计算机视觉的核心任务之一——目标检测,重点介绍最新的 YOLOv12 (You Only Look Once v12) 算法。我们将使用 PyTorch 实现 YOLOv12 模型,并在 COCO 数据集上进行训练和评估。…

【区块链安全 | 第五篇】DeFi概念详解

文章目录 DeFi1. DeFi 生态概览2. 去中心化交易所(DEX)2.1 AMM(自动做市商)模型2.2 订单簿模式(现货交易) 3. 借贷协议3.1 Aave3.2 使用闪电贷(Flash Loan) 4. 稳定币(St…

【初探数据结构】归并排序与计数排序的序曲

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…

基于ruoyi快速开发平台搭建----超市仓库管理(修改记录1)

一、数据库的设计一定注意不要用关键字 数据库是同学设计的,但是在实践过程中,发现,生成的代码一直报错,结果发现数据库里面商品表里面的商品类别竟然设置成class, 注意:: class 是 Java 中的关键字&…

Springboot学习笔记3.20

目录 1.实战篇第一课 我们将会在本次实战中学习到哪些知识点? 开发模式和环境搭建: 注册接口 1.Lombok 2.开发流程 1.controller层,这个层会指明访问路径和要执行的逻辑: 2.我们把返回结果根据接口文档包装成一个类result&a…

Ubuntu和Windows实现文件互传

1.开启Ubuntu下的FTP服务: (1)终端输入: sudo apt-get install vsftpd(2)安装完成后: 终端输入: /etc 是 Linux 系统的全局配置文件目录,存储系统和应用程序的配置信息…

java面向对象从入门到入土

面向对象进阶 (写程序的套路) 面向:拿,找 对象:能干活的东西 面向对象编程:拿东西过来做对应的事情 (写程序的套路) 面向:拿,找 对象:能干活的东西 面向对象编程:拿东西过来做对应的事情 重点学习:学习已有对象并使用,学习如何自己设计对象并使用 设计对…

linux ACL权限控制之用户权限控制程序设计

linux中的ACL(Access Control List,访问控制列表)是一种比传统UNIX权限更细粒度的权限控制机制,允许为文件和目录设置更为具体的用户和组权限。本文介绍使用acl命令和程序api对文件进行更精细的用户权限控制。 1. 命令行示例 使…

Java多线程与JConsole实践:从线程状态到性能优化!!!

目录 一、前言二、JConsole 使用教程二、线程的基本状态2.1新建状态(New)2.2就绪状态(Ready)2.3运行状态(Running)2.4 阻塞状态(Blocked)2.5. 等待状态(Waiting&#xff…

Stable Diffusion vue本地api接口对接,模型切换, ai功能集成开源项目 ollama-chat-ui-vue

1.开启Stable Diffusion的api服务 编辑webui-user.bat 添加 –api 开启api服务,然后保存启动就可以了 2.api 文档地址 http://127.0.0.1:7860/docs3. 文生图 接口 地址 /sdapi/v1/txt2img //post 请求入参 {enable_hr: false, // 开启高清hrdenoising_stre…

第十四届蓝桥杯真题(PWM输出)

一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹&#…

【Qt】ffmpeg编码—存储(H264)

目录 一、编码分析 1.解码线程: ​编辑2.编码线程: ​编辑 ​编辑 二、ffmpeg编码 1.注册所有组件 2.编码初始化函数 (2)打开视频流 4.查找编码器 5. 写文件头信息,写到formatContex中 6.发送一帧数据给编码器…

Unity编辑器功能及拓展(1) —特殊的Editor文件夹

Unity中的Editor文件夹是一个具有特殊用途的目录,主要用于存放与编辑器扩展功能相关的脚本和资源。 一.纠缠不清的UnityEditor 我们Unity中进行游戏构建时,我们经常遇到关于UnityEditor相关命名空间丢失的报错,这时候,只得将报错…

REC一些操作解法

一.Linux命令长度突破 1.源码如下 <?php $param $_REQUEST[param];if ( strlen($param) < 8 ) {echo shell_exec($param); } 2.源码分析 echo执行函数&#xff0c;$_REQUEST可以接post、get、cookie传参 3.破题思路 源码中对参数长度做了限制&#xff0c;小于8位&a…

[AI绘图] ComfyUI 中自定义节点插件安装方法

ComfyUI 是一个强大的 AI 图像生成工具,支持自定义节点插件扩展其功能。本文介绍 ComfyUI 中安装自定义节点插件的三种方法,包括 Git Clone 方式、插件管理器安装方式,以及手动解压 ZIP 文件的方法,并分析它们的优缺点。 1. Git Clone 方法 使用 git clone 是最稳定且推荐…

【机械视觉】C#+VisionPro联合编程———【六、visionPro连接工业相机设备】

【机械视觉】C#VisionPro联合编程———【六、visionPro连接工业相机设备】 目录 【机械视觉】C#VisionPro联合编程———【六、visionPro连接工业相机设备】 前言&#xff1a; 连接步骤说明 一. 硬件连接 支持的相机接口类型&#xff1a; 连接步骤 2. 软件配置 Visio…

蓝桥杯 之 图论基础+并查集

文章目录 习题联盟X蓝桥幼儿园 图论基础 并查集 并查集&#xff0c;总的来说&#xff0c;操作分为三步初始化(每一个节点的父亲是自己)&#xff0c;定义union(index1,index2)函数&#xff0c;定义find(index)函数 并查集详细内容博客 习题 联盟X 联盟X 典型的求解连通分支…

C# .net ai Agent AI视觉应用 写代码 改作业 识别屏幕 标注等

C# net deepseek RAG AI开发 全流程 介绍_c# 向量处理 deepseek-CSDN博客 视觉多模态大模型 通义千问2.5-VL-72B AI大模型能看懂图 看懂了后能干啥呢 如看懂图 让Agent 写代码 &#xff0c;改作业&#xff0c;识别屏幕 标注等等。。。 据说是目前最好的免费图片识别框架 通…

15届蓝桥JavaB组 前6道题解

15届蓝桥JavaB组 前6道题解 报数游戏类斐波那契循环数分布式队列食堂最优分组星际旅行 报数游戏 import java.util.Scanner;//分析&#xff1a; //20和24的最小公倍数是120 //题目给出了前10个数&#xff0c;发现第10个数是120&#xff0c;说明每10个数出现一个公倍数 //第20个…

蓝桥杯 14 天 十五届蓝桥杯 数字诗意

static boolean kkk(long x) {if(x1)return true;else {// 初始化xx为1&#xff0c;用于计算2的幂long xx 1;// 循环60次&#xff0c;检查2的幂是否等于xfor (int i 1; i < 60; i) {xx * 2; // 每次将xx乘以2if (xx x) { // 如果xx等于x&#xff0c;说明x是2的幂&#xf…