Node:解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案

这篇具有很好参考价值的文章主要介绍了Node:解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:         报错:Error: error:0308010C:digital envelope routines::unsupported

报错原因:

        主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18+

报错详细信息:

  error: error:0308010C:digital envelope routines::unsupported
        at new Hash (node:internal/crypto/hash:71:19)
        at Object.createHash (node:crypto:133:10)
        at module.exports (D:\XXX\map-edit2\font\node_modules\webpack\lib\util\createHash.js:135:53)
        at NormalModule._initBuildHash (D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:417:16)
        at handleParseError (D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:471:10)
        at D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:503:5
        at D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:358:12
        at D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:373:3
        at iterateNormalLoaders (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
        at iterateNormalLoaders (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
        at D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:236:3
        at runSyncOrAsync (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
        at iterateNormalLoaders (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
        at Array.<anonymous> (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
        at Storage.finished (D:\XXX\map-edit2\font\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
        at D:\XXX\map-edit2\font\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    node:internal/crypto/hash:71
      this[kHandle] = new _Hash(algorithm, xofLen);
                      ^
     
    Error: error:0308010C:digital envelope routines::unsupported
        at module.exports (D:\XXX\map-edit2\font\node_modules\webpack\lib\util\createHash.js:135:53)
        at NormalModule._initBuildHash (D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:417:16)
        at handleParseError (D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:471:10)
        at D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:503:5
        at D:\XXX\map-edit2\font\node_modules\webpack\lib\NormalModule.js:358:12
        at D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:373:3
        at iterateNormalLoaders (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
        at Array.<anonymous> (D:\XXX\map-edit2\font\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
        at Storage.finished (D:\XXX\map-edit2\font\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
        at D:\XXX\map-edit2\font\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
        at D:\XXX\map-edit2\font\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.12.1

  

解决方案:

方案1:打开IDEA 终端,直接输入

Linux & Mac OS:

export NODE_OPTIONS=--openssl-legacy-provider


Windows:

set NODE_OPTIONS=--openssl-legacy-provider


方案2:打开IDEA 终端,直接输入(问题解决)
 

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

 方案3:卸载当前版本,安装合适的版本(node.js)

方案4:

解决方式(仅限 windows):

在项目中 package.json 的 scripts 中新增 SET NODE_OPTIONS=--openssl-legacy-provider

添加前:

    "scripts": {
    "dev": "vue-cli-service serve",
     
    "build:prod": "vue-cli-service build"
     
    },

添加后:

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

笔者本人是采用第四种方案解决的,大家可以试试,希望可以帮到大家。文章来源地址https://www.toymoban.com/news/detail-849934.html

到了这里,关于Node:解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 升级 node.js 后,编译时报错error:0308010C:digital envelope routines::unsupported

    系统重装成 win11, node.js 也安装成了最新的 v18.13.0 , 修改基于laravel 的 lims 系统,想重新编译,然后报错 error:0308010C:digital envelope routines::unsupported: 出现这个错误的原因,是 node.js V17版本后使用了OpenSSL3.0, OpenSSL3.0对允许算法和密钥大小增加了严格的限制,改变了md族(包括md4)的

    2024年02月16日
    浏览(64)
  • 解决Error: error:0308010C:digital envelope routines::unsupported最快速方案

    问题描述:         报错:Error: error:0308010C:digital envelope routines::unsupported 报错原因:          因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制 报错详情: Error: error:0308010C:digital envelope routines::unsupported     at new Hash (node:internal/

    2024年02月05日
    浏览(51)
  • Error: error:0308010C:digital envelope routines::unsupported的解决之道

    在编程过程中,我们经常会遇到各种错误。其中,\\\"error:0308010C:digital envelope routines::unsupported\\\"这个错误通常是由于OpenSSL库的版本不兼容导致的。下面我将详细介绍如何解决这个问题。 当我们使用OpenSSL库进行加密和解密操作时,可能会遇到\\\"error:0308010C:digital envelope routines::unsu

    2024年01月19日
    浏览(54)
  • Error: error:0308010C:digital envelope routines::unsupported的解决方案

    因为最近安装了pnpm对node版本有要求,升级了node版本是18+以后,在运行之前的项目,就跑不起来了,报错如下: 解决方案一: node版本切换到16版本 使用nvm管理node版本,如下 注意:切换到低于18版本的node以后,pnpm无法使用 node18+可以用pnpm 解决方案二 仅限 windows可用: 在项目

    2024年02月02日
    浏览(47)
  • 解决error:0308010C:digital envelope routines::unsupported的方法

    本文旨在解决在使用Node.js环境或相关依赖时可能遇到的error:0308010C:digital envelope routines::unsupported错误。我们将从报错问题、报错原因和解决方法三个方面进行详细解析。 当在Node.js环境中运行某些加密相关的操作时,可能会遇到error:0308010C:digital envelope routines::unsupported这样的错

    2024年04月26日
    浏览(67)
  • node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported

    出现原因 貌似是因为是因为 node 17版本开始发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。 解决方法 第一种方法降低node版本 降低到17以下即可 ,如项目不能降低版本 看后面的解决方式 第二种方法 设置NODE_OPTIONS环境变

    2024年02月10日
    浏览(51)
  • Webpack 解决:Error: error:0308010C:digital envelope routines::unsupported 的问题

    其一、报错为: Error: error:0308010C:digital envelope routines::unsupported 中文为: 错误:错误:0308010C:数字信封例程::不支持 其二、问题描述为: 在项目打包的时候 npm run build ,控制台报错,并抛出一个 Node.js v18.16.0 的问题; 其三、控制台报错的页面显示为: 根据报错的提示:

    2024年02月05日
    浏览(46)
  • Error message “error:0308010C:digital envelope routines::unsupported“ 解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年02月04日
    浏览(48)
  • 解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案

    问题描述:         报错: Error: error:0308010C:digital envelope routines::unsupported 报错原因:         主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18+ 报错详细信息

    2024年02月05日
    浏览(49)
  • IDEA中Node.js环境下npm报错Error:0308010C:digital envelope routines:unsupported

    注意:如果需要动态灵活管理Node.js的版本 ,或者要切换Node.js的版本,不想卸载重装的话,可以查看我这篇最新的博文: 安装配置nvm-windows对Node.js与npm进行版本控制。这篇文章也有部分内容与本篇重复。 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 是一个开源的

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包