error:03000086:digital envelope routines::initialization error问题解决

news/2024/7/10 1:23:50 标签: vscode, vue, 前端, vue.js, node.js

目录

问题描述:error:03000086:digital envelope routines::initialization error

问题原因:nodejs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。

解决方案:

方法一:Vscode或者cmd命令行输入命令

方法二: 


vue前端项目命令框输入npm run serve或者npm run dev

报error:03000086:digital envelope routines::initialization error错误

Error: error:0308010C:digital envelope routines::unsupported   
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\webpack\lib\NormalModule.js:471:10)
    at D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\webpack\lib\NormalModule.js:503:5
    at D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\webpack\lib\NormalModule.js:358:12
    at D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Array.<anonymous> (D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9   
    at D:\Code\VueProject\iss-edu-platform-online-front-all\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.17.1

 

问题描述:

由于重装了系统,node.js全部重新安装,目前node.js 版本为 18.7.1,部分老项目在使用时报错:

  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'

问题原因:

NodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。老项目是nodeJS16版本。

解决方案:

由于版本差异,为了适配老项目最好的方案就是退回旧版本。但技术总在迭代更新,为此我选择了停留在当前版本,简单直接的解决问题。

方法一:Vscode或者cmd命令行输入命令

$env:NODE_OPTIONS="--openssl-legacy-provider"

 使电脑上的 node 版本能适应项目的版本。

然后再执行 npm run serve ,则能成功运行项目。

 

方法二: 

找到package.json 文件,加上:set NODE_OPTIONS=--openssl-legacy-provider && 如下:

"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open",

 就我个人而言,方法一是比较好,推荐大家使用方法一。省的每个项目都要配置一下。


http://www.niftyadmin.cn/n/5041077.html

相关文章

比特币 ZK 赏金系列:第 2 部分——查找哈希冲突

在我们的零知识赏金 (ZKB) 系列的第二部分中&#xff0c;我们将其应用于解决哈希冲突难题。在这样的谜题中&#xff0c;两个不同的输入散列到相同的输出。此类赏金可用于&#xff1a; 充当煤矿中的金丝雀&#xff0c;给我们一个有价值的提醒。存在冲突是散列函数较弱的标志&…

idea Terminal 回退历史版本 Git指令 git reset

——————强制回滚历史版本—————— 一、idea Terminal 第一步&#xff1a;复制版本号 &#xff08;右击项目–> Git --> Show History -->选中要回退的版本–>Copy Revision Number&#xff0c;直接复制&#xff1b;&#xff09; 第二步&#xff1a;ide…

基于SSM+Vue的亿互游在线平台的设计与开发

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

2、Window上的 虚拟机端口 暴露到 宿主机局域网教程

今天在公司的服务器主机上捣鼓虚拟机&#xff0c;要在虚拟机上安装一个oracle&#xff0c;虚拟机和主机能互相ping通的前提下&#xff0c;要将虚拟机上的端口号暴露在主机上&#xff0c;让项目组内的所有员工的电脑都能访问到该oracle数据库。 也就是电脑A 访问主机&#xff0…

Golang Gorm 一对多 关联模式 Association + Append 添加关联 Association + Replace

添加关联 为 many to many、has many 添加新的关联&#xff1b;为 has one, belongs to 替换当前的关联 db.Model(&user).Association("Languages").Append([]Language{languageZH, languageEN})db.Model(&user).Association("Languages").Append…

clickhouse MPPDB数据库 运维实用SQL总结IV

文章目录 1. 分布式ddl执行引起的故障1.1. 报错信息1.2.故障定位1.3.解决方案2. table_is_read_only的报错2.1. 报错信息2.2. 故障定位2.3. 解决方案clickhouse MPPDB数据库 运维实用SQL总结 clickhouse MPPDB数据库 运维实用SQL总结II clickhouse MPPDB数据库 运维实用SQL总结…

Java Lambda表达式:简洁且强大的函数式编程工具

Lambda表达式是Java 8及以后版本中引入的一种函数式编程特性。它是一种匿名函数&#xff0c;允许开发人员以简洁和易读的方式编写代码&#xff0c;并且可以作为参数传递给方法或存储在变量中。Lambda表达式的基本语法如下&#xff1a;(parameters) -> expression&#xff0c…

Multisim—用示波器观察电流波形

使用仪表里面的current probe&#xff1a;它显示实时电流&#xff0c;但无法将电流波形在示波器中显示。 仿真Simulate >仪器Instruments > 电流探针 current clamp&#xff1a;也就是电流钳&#xff0c;它能够将流经的电流转成电压并输入到示波器中进行显示。 双击图纸上…