在Ubuntu系统上打包Golang项目时,需注意以下关键点:
环境准备
go version
验证。GOPATH
和GOROOT
环境变量(推荐使用Go Modules管理依赖,避免依赖GOPATH)。打包命令与优化
go build -o <输出文件名>
生成二进制文件。CGO_ENABLED=0
生成无动态库依赖的二进制文件,适合跨平台。GOOS
和GOARCH
指定目标平台(如GOOS=linux GOARCH=amd64
)。upx --best <文件名>
减小体积。依赖管理
go mod init
)并自动管理依赖(go mod tidy
)。部署与分发
start.sh
)并赋予执行权限(chmod +x
)。chmod +x
),避免权限错误。常见问题规避
nil
的slice/map时需先初始化,避免运行时panic。