本文主要是介绍Vue Node 编译报错:digital envelope routines::unsupported,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
错误内容
Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:67:19)at Object.createHash (node:crypto:130:10)
错误原因
因为 nodeJs v17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。例如我升级 Node 为 v18 后出现了这个错误。
解决方法
修改 package.json ,在 script 脚本的前面添加配置 NODE_OPTIONS=--openssl-legacy-provider
,如下所示:
"scripts": {"start": "cross-env NODE_OPTIONS=--openssl-legacy-provider docusaurus start","build": "cross-env NODE_OPTIONS=--openssl-legacy-provider docusaurus build --out-dir=dist"},"devDependencies": {"cross-env": "^7.0.3",}
NODE_OPTIONS=–openssl-legacy-provider 后面是原来的命令内容,这里只添加了
cross-env NODE_OPTIONS=--openssl-legacy-provider
。
使用 cross-env
的原因是因为这样我们可以避免 Windows、Linux、MacOS
等不同平台使用不同命令的问题。注意不要忘记在 devDependencies
中添加 cross-env
依赖。
(END)
这篇关于Vue Node 编译报错:digital envelope routines::unsupported的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!