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

目录

问题描述: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",

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

  • 24
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Siobhan.Mxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值