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

使用electron-updater的Electron应用经npm run make构建后启动失败

解决Electron构建后缺失builder-util-runtime模块的问题

以下是针对该问题的几种可行解决方法:

1. 检查并修正electron-builder打包配置

确保package.json中的build配置没有错误排除依赖文件。添加或调整files字段,确保所有必要的node_modules文件被包含:

"build": {
  "files": [
    "**/*",
    "node_modules/**/*"
  ]
}

如果之前配置了exclude规则,检查是否误将builder-util-runtime相关路径加入排除列表,如有则移除。

2. 清理缓存后重新构建

缓存损坏可能导致依赖打包不完整,执行以下步骤彻底清理后重新构建:

# 删除node_modules和锁文件
rm -rf node_modules package-lock.json
# 重新安装依赖
npm install
# 删除electron-builder缓存和构建产物
rm -rf dist
rm -rf ~/Library/Caches/electron-builder
# 重新构建
npm run make

3. 确认electron-updater与Electron版本兼容性

你的electron-updater版本^5.3.0与Electron v22.0.0可能存在兼容性问题。查看electron-updater版本文档,调整到适配Electron 22的版本,例如:

# 安装指定兼容版本,以实际适配版本为准
npm install electron-updater@x.x.x --save

之后重新执行构建流程。

4. 强制指定包含builder-util-runtime资源

在package.json的build配置中,通过extraResources强制将builder-util-runtime的文件打包进应用:

"build": {
  "extraResources": [
    "./node_modules/builder-util-runtime/out/**/*"
  ]
}

这样能确保该模块的所有运行时文件被正确包含到构建包中。

5. 排查打包工具的Tree-shaking规则

如果使用了Webpack等打包工具,检查是否Tree-shaking误删了builder-util-runtime依赖。在Webpack配置中添加externals规则,避免该依赖被优化移除:

module.exports = {
  // ...其他配置
  externals: {
    'electron-updater': 'commonjs2 electron-updater',
    'builder-util-runtime': 'commonjs2 builder-util-runtime'
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 02:47:24