Quasar/Electron构建Mac通用(Arm64+X64)应用问题求助
解决Quasar/Electron应用兼容Intel与Apple Silicon Mac的问题
核心问题:配置键名错误
你当前配置中使用的OsxUniversal是错误的键名,Quasar传递给electron-packager的配置需要使用小驼峰格式osxUniversal,这是导致配置不生效的主要原因。以下提供两种可行的解决方案:
方案一:直接构建通用架构包(推荐)
无需预先单独构建两个架构的包,通过指定arch参数让electron-packager自动生成兼容x64和arm64的通用应用:
修改quasar.conf.js中的electron配置块:
electron: { // 其他配置... packager: { // 指定同时构建x64和arm64架构 arch: ['x64', 'arm64'], // 配置通用包输出 osxUniversal: { outAppPath: '/Users/drive/Projects/AppUniversal.app' } } }
执行构建命令:
quasar build -m electron
构建完成后,electron-packager会自动合并两个架构的产物,生成通用应用包。
方案二:预构建分架构包后合并
如果方案一遇到依赖兼容性问题,可以先分别构建x64和arm64的独立包,再通过配置合并为通用包:
分别构建两个架构的应用
执行以下命令生成x64和arm64的独立包:# 构建x64架构应用 quasar build -m electron --arch x64 # 构建arm64架构应用 quasar build -m electron --arch arm64修改配置合并通用包
在quasar.conf.js中指定两个分架构包的路径:electron: { // 其他配置... packager: { osxUniversal: { x64AppPath: '/Users/drive/Projects/dist/electron/你的应用名-x64.app', // 替换为实际x64包路径 arm64AppPath: '/Users/drive/Projects/dist/electron/你的应用名-arm64.app', // 替换为实际arm64包路径 outAppPath: '/Users/drive/Projects/AppUniversal.app' } } }执行合并构建
运行构建命令,electron-packager会基于指定的两个包生成通用应用:quasar build -m electron
验证通用包有效性
构建完成后,右键应用包 → 显示包内容 → 进入Contents/MacOS目录,执行以下命令验证架构支持:
lipo -info 你的应用文件名
如果输出包含x86_64和arm64,则说明通用包构建成功。
内容的提问来源于stack exchange,提问作者Cynthia
相关产品推荐
相关产品推荐

