You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@capacitor-community/electron打包后报Unhandled Promise Rejection错误如何解决

问题根源

@capacitor-community/electron模板默认集成了electron-updater自动更新模块,模块启动时会读取打包生成的app-update.yml配置文件。你当前使用的electron:pack命令添加了--dir参数,仅生成便携版运行目录,electron-builder在该模式下默认不会生成自动更新相关配置文件,因此触发文件不存在的报错。


解决方案

通用前置排查

先删除./electron/dist、./electron/build两个缓存目录,避免旧打包残留文件影响。

场景一:无需使用自动更新功能

直接移除自动更新相关代码即可:

  • 打开./electron/src/index.ts文件
  • 删除所有electron-updater相关的导入、autoUpdater初始化、更新事件监听逻辑
  • 重新执行npm run electron:pack即可正常打包运行

场景二:需要使用自动更新功能

按以下步骤调整配置:

  1. 完善electron-builder.config.json中的publish配置,补充实际的仓库信息,示例:
"publish": {
  "provider": "github",
  "owner": "你的GitHub用户名",
  "repo": "你的项目仓库名",
  "private": false
}
  1. 若测试阶段仍需使用--dir模式运行,可在自动更新逻辑外层添加开发环境判断,避免开发/便携版环境下加载更新模块:
import isDev from 'electron-is-dev';
import { autoUpdater } from 'electron-updater';

if (!isDev) {
  // 原有自动更新初始化、事件监听代码放在该判断内
}
  1. 正式打包时使用npm run electron:make命令,electron-builder会自动生成app-update.yml文件并打包到对应路径,不会再触发该报错。

内容的提问来源于stack exchange,提问作者Ch3shire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:24:01