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

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

系统重装成 win11, node.js 也安装成了最新的 v18.13.0 , 修改基于laravel 的 lims 系统,想重新编译,然后报错 error:0308010C:digital envelope routines::unsupported:

e:\e-lims> npm run watch

> watch
> mix watch
......
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
......
Node.js v18.13.0

出现这个错误的原因,是 node.js V17版本后使用了OpenSSL3.0, OpenSSL3.0对允许算法和密钥大小增加了严格的限制,改变了md族(包括md4)的初始化上下文的代码,这是一个破坏性的更改。

解决的方案之一是修改 package.json 中的相关脚本

原部分脚本为:

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
......
}

启动脚本前,设置NODE_OPTIONS,这不是一个推荐的方法,但可以解决问题

{
    "private": true,
    "scripts": {
        "dev": "set NODE_OPTIONS=--openssl-legacy-provider && npm run development",
        "watch": "set NODE_OPTIONS=--openssl-legacy-provider && mix watch",
        
    },
......
}

再次运行 npm run watch ,可顺利编译。文章来源地址https://www.toymoban.com/news/detail-602126.html

到了这里,关于升级 node.js 后,编译时报错error:0308010C:digital envelope routines::unsupported的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported

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

    2024年02月10日
    浏览(37)
  • Error: error:0308010C:digital envelope routines::unsupported

    vscode运行react时报错 opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ], library: ‘digital envelope routines’, reason: ‘unsupported’, code: ‘ERR_OSSL_EVP_UNSUPPORTED’ 什么原因导致 “0308010c:digital envelope routines::unsupported” 的错误? 你遇到这个错误的可能原因主要有两个

    2024年02月16日
    浏览(32)
  • error:0308010C:digital envelope routines::unsupported

    使用 npm run dev 或者 yarn run dev 时报错:error:0308010C:digital envelope routines::unsupported nodejs 版本为 18.12.1 Google 了一下发现是 Node JS 17 的 BUG,相关 ISSUE 也给出了解决办法,就是修改package.json,在相关构建命令之前加入 set NODE_OPTIONS=--openssl-legacy-provider 例如,如果你使用的命令是 np

    2024年02月11日
    浏览(32)
  • 解决:Error: error:0308010C:digital envelope routines::unsupported

    原因 出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。 在node.js V17以前一些可以正常运行的的应用程序,但是在 V17 版本可能会抛出这个异常。 碰到这个问题后,查到了这篇文章,只

    2024年01月25日
    浏览(38)
  • 错误解决Error: error:0308010C:digital envelope routines::unsupported

    前端项目npm run serve报错, 问题原因: 查了下原因,主要是 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18.12.1 解决方式(仅 windows): 在 package.json 的 scripts 中新增 SET N

    2024年02月11日
    浏览(41)
  • 已解决error:0308010C:digital envelope routines::unsupported

    已解决error:0308010C:digital envelope routines::unsupported error:0308010C:digital envelope routines::unsupported 针对错误码 “error:0308010C:digital envelope routines::unsupported”,这是一个与数字信封操作有关的错误。 下滑查看解决方法 它通常发生在使用 OpenSSL 库进行加密或解密操作时,可能是由于使用

    2024年02月08日
    浏览(44)
  • Vue项目:Error: error:0308010C:digital envelope routines::unsupported

    Vue2+ElementUI脚手架项目,启动的时候报下列错误 第一感觉就是node版本的问题,因为本地node版本用的算是比较新的,用的18.8.2版本。经过查询相关资料,发现是node17以后OpenSSL3.0对允许算法和密钥大小增加了严格的限制,由此造成的影响。既然找到了问题解决办法无外乎使用低

    2024年03月21日
    浏览(77)
  • Vue 报错Error: error:0308010C:digital envelope routines::unsupported

    Vue 报错Error: error:0308010C:digital envelope routines::unsupported 背景 我们经常在github上下载工程,但是有的工程有可能是2017,2016年或者更之前,导致工程的node版本,和自己电脑下载的node版本不兼容,导致报错。 报错原因 出现这个错误是因为 node.js 版本最近发布的OpenSSL3.0, 而OpenSSL3

    2024年02月11日
    浏览(43)
  • 解决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日
    浏览(51)
  • Vue 报错 error:0308010C:digital envelope routines::unsupported

    Vue 报错error:0308010C:digital envelope routines::unsupported 出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响. 方法1 打开终端(按健win+R弹出窗口,键盘输入cmd,然后敲回车)并按照说明粘贴这些

    2024年02月09日
    浏览(64)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包