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)

相关推荐
熊的猫2 分钟前
DOM 规范 — MutationObserver 接口
前端·javascript·chrome·webpack·前端框架·node.js·ecmascript
mez_Blog3 分钟前
Vue之插槽(slot)
前端·javascript·vue.js·前端框架·插槽
爱睡D小猪6 分钟前
vue文本高亮处理
前端·javascript·vue.js
paopaokaka_luck6 分钟前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
开心工作室_kaic9 分钟前
ssm102“魅力”繁峙宣传网站的设计与实现+vue(论文+源码)_kaic
前端·javascript·vue.js
放逐者-保持本心,方可放逐9 分钟前
vue3 中那些常用 靠copy 的内置函数
前端·javascript·vue.js·前端框架
IT古董10 分钟前
【前端】vue 如何完全销毁一个组件
前端·javascript·vue.js
Henry_Wu00112 分钟前
从swagger直接转 vue的api
前端·javascript·vue.js
M_emory_1 小时前
解决 git clone 出现:Failed to connect to 127.0.0.1 port 1080: Connection refused 错误
前端·vue.js·git
Ciito1 小时前
vue项目使用eslint+prettier管理项目格式化
前端·javascript·vue.js