在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。