在Ubuntu上打包Golang程序需注意以下要点:
环境准备
sudo apt install golang-go
安装,或手动下载安装包配置环境变量。GOPATH
、GOROOT
等环境变量,确保依赖路径正确。依赖管理
go mod init
初始化模块,go mod tidy
自动管理依赖,避免版本冲突。编译优化
CGO_ENABLED=0
,生成不依赖动态库的二进制文件,适合跨平台或轻量环境。GOOS
和GOARCH
指定目标系统(如GOOS=linux GOARCH=amd64
),生成适配不同环境的可执行文件。文件处理
upx
工具(sudo apt install upx-ucl
)减小体积,如upx --best myapp
。tar -czvf
将可执行文件打包为.tar.gz
,便于分发。部署选项
systemd
创建服务文件(如myapp.service
),实现开机自启和进程管理。注意事项
libc.so
)到目标系统。scratch
基础镜像(如debian:bookworm-slim
),方便排查问题。