Vue Node 编译报错:digital envelope routines::unsupported

错误内容

bash 复制代码
Error: error:0308010C:digital envelope routines::unsupported
    at 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,如下所示:

json 复制代码
  "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)

相关推荐
jingchao19982 分钟前
Cannot read properties of null (reading ‘insertBefore‘)
前端·javascript·vue.js
抓不住时间的沙6 分钟前
N1搭建Hexo个人博客,部署到Github
python·docker·node.js·debian·github·arm
必须会一定会44 分钟前
Node.js Agent Handoff 仓库扫描 MVP:忽略规则、include 通配与稳定输出实现
人工智能·node.js·ai编程
猫不易16 小时前
从 Virtual DOM 到 Vapor:Vue 3.6 的另一条路
前端·vue.js
八角丶17 小时前
Node.js Cluster 详解
前端·node.js
岁岁种桃花儿18 小时前
Vue核心语法第十二篇:条件渲染
前端·javascript·vue.js
濮水大叔20 小时前
CabloyJS 强大之处不仅仅是 IoC,而是全栈资源的寻址体系
typescript·node.js·全栈
雪碧聊技术20 小时前
Vue + Element Plus 实现文本溢出显示省略号及悬浮提示
前端·javascript·css·vue.js·文本溢出省略
烂蜻蜓21 小时前
Node.js入门教程(二十六):内置模块
node.js
东方小月21 小时前
从零开发一个 Coding Agent(十一):实现 CLI 的 print 模式
node.js·全栈