Ubuntu下Golang程序打包方法

作者:技术拾光

时间:2026-07-24

浏览:228

在Ubuntu上使用gobuild生成静态可执行文件,消除依赖,实现跨平台运行。交叉编译通过设置GOOS与GOARCH完成,多平台可借助gx工具管理。外部资源(如配置文件)需手动打包分发。

文章目录

在 Ubuntu 上打包 Go 语言程序,核心工具就是 go build。这个命令直接编译生成可执行文件,和 Go 编译器、依赖库之类的完全脱钩,拿到任何兼容的 Linux 机器上就能跑,非常省心。

Ubuntu下Golang程序打包方法

打包步骤

实际打包过程很简单:

  1. 打开终端。
  2. 切换到 Go 源码所在的目录。
  3. 执行 go build 命令。比如源码文件叫 main.go,那就敲:
go build main.go

当前目录下会多出一个可执行文件,名字就是 main(Windows 下是 main.exe)。

交叉编译

如果需要为不同操作系统或架构交叉编译,设置 GOOS 和 GOARCH 环境变量就行。比如为目标 Linux 64位系统编译:

GOOS=linux GOARCH=amd64 go build main.go

Windows 64位:

GOOS=windows GOARCH=amd64 go build main.go

macOS:

GOOS=darwin GOARCH=amd64 go build main.go

使用 gox 批量编译

如果想一次搞定多个平台,gox 是个好帮手。先安装它:

go get github.com/mitchellh/gox

然后一条命令指定目标平台:

gox -osarch="linux/amd64 windows/amd64 darwin/amd64" main.go

它会为每个指定的平台生成独立目录,分别存放对应的可执行文件。

注意事项

还有一点需要留意:如果程序依赖外部资源(比如配置文件、模板、图片等),光靠 go build 可不会自动打包进去。要么把资源文件放在程序目录里,用相对路径引用;要么写个脚本把资源复制到可执行文件旁边。总之,分发时别忘了带上这些外部文件。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章