【Electron+Vue】Error: error:0308010C:digital envelope routines::unsupported

问题描述

使用 electron-builder 构建 vue 项目,运行 npm run electron:build ,构建过程报错。

bash 复制代码
/  Bundling main process...

ERROR  Failed to compile with 1 errors                                                                                                                  16:08:17

 error 

background.js from Terser
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)

原因分析

在使用 electron-builder 构建项目时,使用的 Node.js 版本过高,不支持当前的 OpenSSL 版本,导致构建失败。

解决这个问题的方法是在构建命令前设置 NODE_OPTIONS 环境变量,强制使用 OpenSSL 的旧版提供程序。


解决方案

打开package.json,找到

javascript 复制代码
  "scripts": {
    "electron:build": "vue-cli-service electron:build",
  },

改为

javascript 复制代码
  "scripts": {
    "electron:build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service electron:build",
  },
相关推荐
belldeep2 分钟前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
凉辰22 分钟前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
echoVic37 分钟前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
echoVic41 分钟前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript
David凉宸42 分钟前
Vue 3 + TS + Vite + Pinia vs Vue 2 + JS + Webpack + Vuex:对比分析
javascript·vue.js·webpack
滕青山43 分钟前
Vue项目BMI计算器技术实现
前端·vue.js
boooooooom1 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试
wxin_VXbishe1 小时前
C#(asp.net)学员竞赛信息管理系统-计算机毕业设计源码28790
java·vue.js·spring boot·spring·django·c#·php
不会敲代码11 小时前
解密JavaScript内存机制:从执行上下文到闭包的全景解析
javascript
NEXT061 小时前
React Hooks 进阶:useState与useEffect的深度理解
前端·javascript·react.js