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)

相关推荐
你的人类朋友4 小时前
【Node&Vue】JS是编译型语言还是解释型语言?
javascript·node.js·编程语言
杨荧8 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
Orange3015119 小时前
《深入源码理解webpack构建流程》
前端·javascript·webpack·typescript·node.js·es6
南半球与北海道#10 小时前
前端引入vue-super-flow流程图插件
前端·vue.js·流程图
BillKu10 小时前
vue3+element-plus 输入框el-input设置背景颜色和字体颜色,样式效果等同于不可编辑的效果
前端·javascript·vue.js
每天学习一丢丢11 小时前
Spring Boot + Vue 项目用宝塔面板部署指南
vue.js·spring boot·后端
springfe010111 小时前
vue3组件 - 大文件上传
前端·vue.js
好好好明天会更好11 小时前
uniapp项目中小程序的生命周期
前端·vue.js
萌萌哒草头将军12 小时前
有了它 ,我彻底告别了 try-finally 🔥🔥🔥
前端·javascript·vue.js
anyup12 小时前
🔥🔥 10 天 Star 破百!uView Pro 文档也开源啦:完全免费、无广告、高效上手
前端·vue.js·uni-app