Golang在Ubuntu上的打包流程如下:
安装Go环境
sudo apt update && sudo apt install golang-go
go version # 验证安装
初始化项目依赖
go mod init <模块名> # 创建go.mod文件
go mod tidy # 自动管理依赖
编译项目
cd /path/to/project
go build -o myapp main.go # 生成可执行文件
可选:压缩可执行文件
sudo apt install upx
upx --best myapp # 压缩文件体积
可选:打包为压缩包
tar -czvf myapp.tar.gz myapp # 打包成.tar.gz文件
可选:跨平台编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o myapp # 静态链接
可选:Docker打包
FROM golang:alpine AS builder
WORKDIR /app
COPY . .
RUN go mod download && go build -o myapp
FROM scratch
COPY --from=builder /app/myapp /myapp
ENTRYPOINT ["/myapp"]
docker build -t myapp .
说明:
CGO_ENABLED=0
)可避免依赖库缺失问题,适合无Go环境的服务器。