Skip to content

🐛 fix(build): 修复干净环境 Wails 构建失败 - #1245

Merged
kunghim merged 1 commit into
devfrom
fix/wails-build-dist
Sep 14, 2026
Merged

kunghim merged 1 commit into
devfrom
fix/wails-build-dist

Conversation

@AutumnNazi

Copy link
Copy Markdown
Collaborator

背景

干净仓库中不存在被 Git 忽略的 frontend/dist.zip。Wails 在执行前端构建前先生成 bindings,导致 assets_prod.gogo:embed 直接报错,Linux 用户无法执行普通 wails build

Closes #1244

变更点

  • 在 Wails pre-build hook 中仅当 frontend/dist.zip 缺失时复制仓库内的 tools/stub-dist.zip,使 bindings 可以生成。
  • 在 post-build hook 中校验最终资源不能仍是 stub;若使用 -s 跳过前端且没有真实资源,则删除无效二进制并明确失败,避免生成可启动但只有占位页的坏包。

影响范围

  • 影响 Windows、Linux、macOS 的本地 Wails 生产构建入口。
  • 不修改应用运行逻辑,也不会覆盖已生成的真实 frontend/dist.zip
  • 现有 CI 在准备真实前端资源后执行 -s -skipbindings 的路径保持不变。

验证

  • Wails CLI v2.15.0:干净临时 clone、初始无 frontend/dist.zip,完整 wails build 成功。
  • 缺少真实资源时执行 wails build -s:退出码为 1,且无效二进制被删除。
  • 已有真实资源时执行 wails build -s -skipbindings:构建成功。
  • WSL Ubuntu:pre/post hook 的 stub 失败路径和真实资源成功路径均验证通过。

- 在生成 bindings 前按需准备前端资源占位包
- 构建结束时拒绝嵌入占位资源并删除无效二进制
@kunghim
kunghim merged commit 0acd1b0 into dev Sep 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] wails build 失败

2 participants