在Ubuntu上打包Golang项目时,需注意以下关键点:
环境准备
GOPATH
、GOROOT
等环境变量。go mod init
+ go mod tidy
。编译优化
go build -o
指定输出文件名,避免默认命名冲突。CGO_ENABLED=0
生成无动态库依赖的二进制文件。GOOS
和GOARCH
指定目标平台(如GOOS=linux GOARCH=amd64
)。文件处理
upx --best
减小体积。chmod +x
赋予可执行权限。依赖与部署
go.mod
、go.sum
和依赖库一并打包,或通过Docker构建镜像。常见问题
nil
的slice/map直接操作,需先初始化。float64
,需自定义类型处理整数。参考来源: