温馨提示×

golang打包ubuntu软件包的秘诀

小樊
50
2025-08-09 11:54:36
栏目: 编程语言

以下是一些在Ubuntu上打包Golang软件的秘诀:

编译优化

  • 设置环境变量:GOOS=linuxGOARCH=amd64确保生成适配Ubuntu的二进制文件,CGO_ENABLED=0可生成静态链接文件,减少依赖。
  • 利用编译选项:-o指定输出文件名,-ldflags "-s -w"可减小文件大小,-buildcache true开启编译缓存以加快速度。

打包工具选择

  • dpkg - deb:手动创建DEBIAN目录及control等文件,使用dpkg - deb -b命令打包,适合需要高度定制化的场景。
  • fpm工具:安装后使用简单命令即可生成.deb包,能自动处理依赖等,如fpm -s dir -t deb -n mypackage -v 1.0 --prefix /usr/local/bin myapp

其他要点

  • 确保依赖正确:用go mod tidy整理依赖,用go mod vendor将依赖复制到项目目录。
  • 可选压缩:用upx压缩可执行文件,减小体积。

0