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)

相关推荐
不总是9 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
吃乔巴的糖12 小时前
Vue 3 打印模板设计器 (print-canvas-designer)
前端·vue.js
蓝乐15 小时前
Express 知识点总结
node.js·express
如果超人不会飞16 小时前
后端别再手绘了!TinyVue 流程图组件 Flowchart 跨端定制指南
vue.js
cc.ChenLy17 小时前
大文件断点续传原理总结和Demo示例详解
javascript·vue.js·文件上传·大文件断点续传
程序员祥云17 小时前
VUE2_TO_VITE_VUE3
javascript·vue.js·ecmascript
苏瞳儿17 小时前
vue3+pinia+mqtt实时响应连接
前端·javascript·vue.js
i220818 Faiz Ul18 小时前
理财系统|基于java+vue的家庭理财系统小程序(源码+数据库+文档)
java·vue.js·spring boot·小程序·论文·毕设·理财系统
kylinmin18 小时前
Node.js安装及环境配置超详细教程(以win11为例子)
node.js
暗冰ཏོ18 小时前
《2026 Vue2 + Vue3 完整学习指南:基础语法、路由缓存、登录拦截、项目实战与面试题》
前端·vue.js·vue·vue3·vue2