以下是在Ubuntu上打包Golang应用的实用技巧:
环境准备
apt
安装Go:sudo apt update && sudo apt install golang
。~/.bashrc
中添加export PATH=$PATH:/usr/local/go/bin
,并执行source ~/.bashrc
。高效编译
go build -o app_name
,生成可执行文件。CGO_ENABLED=0
,生成不依赖C库的二进制文件,适合无Go环境的系统:CGO_ENABLED=0 go build -o app_name
。GOOS
和GOARCH
生成其他平台可执行文件,例如:GOOS=linux GOARCH=amd64 go build -o app_name
(在Ubuntu生成Linux 64位包)。优化打包体积
upx
后,对二进制文件执行upx --best app_name
,可减少约50%-70%体积。debian:buster-slim
),降低镜像体积。依赖管理
go mod
管理依赖,确保版本一致性:
go mod init
go mod tidy
。部署与分发
start.sh
脚本(如#!/bin/bash ./app_name
),简化启动流程。dpkg-deb
工具将应用打包为Ubuntu可安装的.deb
包。注意事项
-installsuffix cgo
避免冲突。参考来源: