发布于2026-07-07 阅读(0)
扫一扫,手机访问
在 Ubuntu 系统上用 Go 语言打包应用程序,其实流程并不复杂,核心就是几个关键环节。很多新手可能会因为环境配置或者交叉编译的细节卡壳,这里把整个流程拆开梳理一遍,希望能帮到你。

如果系统里还没有 Go,安装起来很方便。直接用 apt 搞定:
sudo apt update
sudo apt install golang-go
当然,你也可以从官网下载最新版本手动安装,但 apt 源里的版本通常够用。装完之后可以用 go version 确认一下。
Go 1.11 版本之后,强烈推荐使用 Go Modules 来做依赖管理。如果你用的是较新版本的 Go,那完全可以跳过传统 GOPATH 的设置,直接在项目目录下 go mod init 就行。但如果你确实需要手动设置环境变量(比如还在用老项目或老习惯),可以参考下面的配置:
export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
把这些加到 ~/.profile 或 ~/.bashrc 里,每次登录自动生效,省得重复输入。
在工作目录里创建 .go 源文件,把业务逻辑写进去。在正式打包之前,先跑一下看看有没有编译或运行时错误:
go run yourprogram.go
这一步虽然简单,但很关键。很多问题提前在 go run 阶段发现,能省掉后面反复打包调试的时间。
测试通过之后,用 go build 把代码编译成二进制文件。这是最常规的打包方式:
go build -o yourprogram yourprogram.go
-o 后面跟的是你想生成的可执行文件名。如果不加 -o,默认会用当前目录名作为输出文件名。编译完成后直接 ./yourprogram 就能运行,非常轻量。
如果你需要把程序部署到 Windows、macOS 或其他架构的机器上,用交叉编译就能搞定,而且不需要在目标系统上安装 Go。只需要在构建命令前指定 GOOS 和 GOARCH 环境变量。比如要生成 Windows 64 位的 exe:
GOOS=windows GOARCH=amd64 go build -o yourprogram.exe yourprogram.go
类似地,如果要打 Linux 32 位或 ARM 架构的包,把 GOOS=linux GOARCH=386 或 GOARCH=arm 换上就行。交叉编译是 Go 语言的一大优势,几乎不会遇到什么兼容性问题。
有些场景下,光有可执行文件还不够——比如你想让用户通过 apt install 或者 rpm -i 来安装。这时候就需要把程序打包成系统原生的安装包格式。Ubuntu 下用 dpkg-deb 可以制作 .deb 包,CentOS 下用 rpmbuild 制作 .rpm。如果觉得手动写打包脚本太麻烦,可以借助 fpm 这个包装工具,一句命令就能生成安装包,非常省事。
以上就是 Ubuntu 系统下 Go 程序打包的常规流程。从环境搭建到交叉编译再到安装包制作,每一步都可以根据实际项目需求做灵活调整。核心思路其实就一句话:先跑通,再构建,最后按目标平台输出。希望对你有帮助。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8