fix(build): avoid UPX Linux startup crashes

This commit is contained in:
pphua committed 2026-08-22 14:52:01 +08:00
1 parent dfcf33f9f5
commit 476a44577c
4 files changed
+20 -13

No files matched your search

+3 -3
View File
@@ -110,18 +110,18 @@ CGO_ENABLED=0 go build -tags embedui -o artex ./cmd/artex
### 方式五:构建跨平台 Release 压缩包
`build.sh` 会先构建并嵌入前端,再使用 Go linker 去除调试信息,并在本机安装了 UPX 时进一步压缩二进制。Release 模式默认生成 Linux amd64/arm64、macOS amd64/arm64 和 Windows amd64 的 zip 包:
`build.sh` 会先构建并嵌入前端,再使用 Go linker 去除调试信息,并将发布文件压缩为 zip。Release 模式默认生成 Linux amd64/arm64、macOS amd64/arm64 和 Windows amd64 的 zip 包:
```bash
./build.sh --release
# 产物:dist/artex-0.3.3-*.zip
```
没有 UPX 时脚本仍可生成 linker 压缩后的二进制;CI Release 会将 UPX 视为必需依赖。可用 `ARTEX_TARGETS` 自定义目标,或用 `--no-compress` 禁用 UPX:
UPX 自解压二进制可能与部分 Linux 内核、虚拟化环境或安全策略不兼容,因此默认不启用。可用 `ARTEX_TARGETS` 自定义目标;确认目标运行环境兼容时,可显式传入 `--upx` 进一步缩小二进制:
```bash
ARTEX_TARGETS=linux/amd64,windows/amd64 ./build.sh --release
./build.sh --target darwin/arm64 --no-compress
./build.sh --target linux/amd64 --upx
```
---