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)

相关推荐
hweiyu001 小时前
Node.js+Koa2+MySQL 打造前后端分离项目(视频教程)
数据库·mysql·node.js
小奶包他干奶奶1 小时前
如何使用vscode和express开发node.js
前端·node.js
qyhua1 小时前
从零部署自维护版 Uptime Kuma:Node.js + PM2 + Nginx 全链路实战指南
运维·nginx·node.js
海鸥两三2 小时前
Uni-App(Vue3 + TypeScript)项目结构详解 ------ 以 Lighting-UniApp 为例,提供源代码
vue.js·typescript·uni-app·1024程序员节
知识分享小能手2 小时前
uni-app 入门学习教程,从入门到精通,uni-app中uCharts组件学习((8)
vue.js·学习·ui·微信小程序·小程序·uni-app·echarts
one.dream2 小时前
用webpack 插件实现 img 图片的懒加载
前端·webpack·node.js
布兰妮甜2 小时前
彻底清理:Vue项目中移除static文件夹的完整指南
vue.js·前端框架·static·1024程序员节
你的电影很有趣3 小时前
lesson77:Vue组件开发指南:从基础使用到高级通信
javascript·vue.js·1024程序员节