在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,需自定义类型处理整数。参考来源: