在CentOS上用Electron Forge制作Windows Electron应用安装包遇报错
在CentOS上用Electron Forge制作Windows安装包及报错解决
步骤1:安装兼容的wine环境
CentOS默认源的wine版本无法适配rcedit.exe,需安装WineHQ稳定版:
- 配置依赖源:
sudo yum install -y curl epel-release curl https://dl.winehq.org/wine-builds/winehq.repo | sudo tee /etc/yum.repos.d/winehq.repo - 安装WineHQ:
sudo yum install -y winehq-stable - 创建32位wine运行环境(rcedit.exe为32位程序,必须用32位wine环境):
弹出配置窗口后直接关闭,完成环境初始化。WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
步骤2:配置Electron Forge打包参数
在项目package.json中修改config.forge,添加Windows平台支持:
{ "config": { "forge": { "makers": [ { "name": "@electron-forge/maker-squirrel", "config": { "name": "你的应用名称" } } ], "platforms": ["win32"], "archs": ["x64"] } } }
步骤3:执行打包
指定32位wine环境运行打包命令:
WINEPREFIX=~/.wine32 electron-forge make --platform win32 --arch x64
也可以在package.json的scripts中添加快捷命令:
{ "scripts": { "build:win": "WINEPREFIX=~/.wine32 electron-forge make --platform win32 --arch x64" } }
之后运行npm run build:win即可。
报错解决:wine: Bad EXE format for rcedit.exe
这个错误是因为wine环境架构与rcedit.exe不匹配:
- electron-winstaller自带的rcedit是32位程序,而默认wine环境为64位,导致无法解析EXE格式。
- 按照步骤1创建并使用32位wine环境即可解决问题。
- 若仍报错,可手动替换rcedit.exe:下载适配64位系统的rcedit程序,替换
node_modules/electron-winstaller/vendor/rcedit.exe后重新打包。
内容的提问来源于stack exchange,提问作者rb743
相关产品推荐
相关产品推荐

