Ubuntu中Golang打包的步骤是什么
作者:归人云淡风轻
时间:2026-06-27
来源:互联网
浏览:0
在Ubuntu中打包Golang应用,需先安装Go编译器,使用gobuild命令搭配-ldflags优化体积。通过GOOS/GOARCH环境变量可交叉编译Windows、macOS等平台可执行文件,还可借助upx进一步压缩。最后用tar打包分发或构建Docker容器镜像。
当你在Ubuntu上完成Golang应用的开发后,如何把它打包成一个可交付的成果?这几乎是每个Go开发者都会遇到的必经环节。下面这套流程,从环境搭建到最终分发,覆盖了最常见的几种打包场景,可以拿来直接用。
Ubuntu中Golang打包的详细步骤
1. 安装Golang环境
在Ubuntu上打包Golang应用前,需先安装Go编译器。推荐通过系统包管理器安装(简单便捷):

sudo apt update && sudo apt install golang-go -y
安装完成后,通过go version命令验证是否成功(显示Go版本信息即为成功)。
2. 准备Golang项目
- 创建项目目录:选择一个合适路径(如
~/projects)创建项目文件夹,并进入该目录:mkdir -p ~/projects/myapp && cd ~/projects/myapp - 编写代码:创建
main.go文件(入口文件),编写简单Go程序(如打印“Hello, World!”):package mainimport "fmt"func main() {fmt.Println("Hello, World!")} - 初始化模块(可选但推荐):若项目依赖第三方库,需初始化Go模块(生成
go.mod文件):go mod init myapp
3. 本地编译(生成可执行文件)
在项目目录下,使用go build命令编译代码:
- 默认编译:直接生成与目录同名的可执行文件(如
myapp):go build - 自定义输出名:通过
-o参数指定输出文件名(如myapp.bin):go build -o myapp.bin - 优化编译:使用
-ldflags参数去除调试信息,减小文件体积(适用于生产环境):
其中,go build -ldflags="-s -w" -o myapp-s省略符号表,-w省略DWARF调试信息。
4. 跨平台编译(可选)
若需为其他操作系统(如Windows、macOS)或架构(如ARM)打包,可使用交叉编译:
- 示例1:编译为Windows 64位可执行文件:
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o myapp.exe - 示例2:编译为macOS 64位可执行文件:
注:CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o myappCGO_ENABLED=0表示禁用CGo(避免依赖C库),确保生成静态链接的可执行文件。
5. 打包与分发
- 压缩可执行文件:使用
tar命令将可执行文件打包为.tar.gz(减少传输体积):tar -czvf myapp.tar.gz myapp - 分发与运行:通过
scp将压缩包传输到目标服务器,解压后赋予执行权限并运行:scp myapp.tar.gz user@remote-server:/tmpssh user@remote-servercd /tmp && tar -xzvf myapp.tar.gzchmod +x myapp./myapp
6. 可选:使用Docker打包(适用于容器化部署)
若需将应用打包为Docker镜像(便于跨环境运行),可按以下步骤操作:
- 创建Dockerfile:在项目根目录下创建
Dockerfile,内容如下:# 使用官方Go镜像作为构建环境FROM golang:1.21 AS builderWORKDIR /appCOPY . .RUN go mod downloadRUN CGO_ENABLED=0 GOOS=linux go build -o myapp .# 使用scratch作为最终镜像(无操作系统,体积更小)FROM scratchCOPY --from=builder /app/myapp /myappENTRYPOINT ["/myapp"] - 构建Docker镜像:在项目目录下运行:
docker build -t myapp:latest . - 运行Docker容器:
输出“Hello, World!”即表示成功。docker run --rm myapp:latest
以上步骤覆盖了Ubuntu环境下Golang打包的全流程,可根据实际需求选择本地编译、跨平台编译或容器化打包。
作者最新文章
荣耀MagicOS 11发布计划与Agent Harness架构解析
2026-09-08 19:23
AI重构企业业务架构:超聚变“智企”范式核心解析
2026-09-08 18:39
PDF合并工具怎么选?在线合并5步实操指南
2026-09-04 17:05
PDF图片压缩工具推荐与批量处理实操指南
2026-09-03 12:14
照片如何转成PDF格式?三种图片转PDF操作方法
2026-09-03 11:04
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















