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)

相关推荐
harrain1 天前
antvG2折线图和区间range标记同时绘制
前端·javascript·vue.js·antv·g2
网络点点滴1 天前
组件通信-作用域插槽
前端·javascript·vue.js
Luna-player1 天前
Vue3中使用vue-awesome-swiper
前端·vue.js·arcgis
SuperEugene1 天前
Vue3 Pinia 状态管理规范:状态拆分、Actions 写法、持久化实战,避坑状态污染|状态管理与路由规范篇
前端·javascript·vue.js·前端框架·pinia
工頁光軍2 天前
Node.js 操作 Milvus 完整实战案例
node.js·milvus
送鱼的老默2 天前
学习笔记--vue3 watchEffect监听的各种姿势用法和总结
前端·vue.js
angerdream2 天前
最新版vue3+TypeScript开发入门到实战教程之路由详解
前端·javascript·vue.js
送鱼的老默2 天前
学习笔记--vue3 watch监听的各种姿势用法和总结
前端·vue.js
Java_ESS2 天前
MacBook Pro Intel 芯片版:Node.js + Claude Code + OpenCode 完全安装指南
node.js·ai编程
掘金者阿豪2 天前
在AI时代,没有人是“只写一行代码的人”——我们为何都在被迫成为全栈?
vue.js·后端