温馨提示×

Golang Ubuntu打包如何压缩体积

小樊
40
2025-08-21 17:01:14
栏目: 编程语言

在Ubuntu上打包Golang程序并压缩体积,可按以下步骤操作:

  1. 编译时去除调试信息
    使用-ldflags="-s -w"参数移除符号表和DWARF调试信息,减少文件体积:

    go build -ldflags="-s -w" -o myapp main.go 

    -s去除符号表,-w去除调试信息,二者可单独或组合使用)

  2. 使用UPX压缩二进制文件
    安装UPX工具:

    sudo apt-get install upx-ucl 

    压缩文件(推荐使用--best-9参数):

    upx --best -o myapp_compressed myapp 

    --best启用最高压缩率,压缩后体积可减少50%-70%,但可能增加启动时间)

  3. 可选:进一步优化依赖

    • 清理go.mod中不必要的依赖,避免引入大型库。
    • 使用-trimpath参数移除编译路径信息(需Go 1.13+):
      go build -trimpath -ldflags="-s -w" -o myapp main.go 

注意:UPX压缩可能触发部分安全软件误报,建议仅在非敏感环境中使用。若需极致压缩,可结合garble工具进行代码混淆(需自行权衡可维护性)。

0