在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),方便排查问题。