发布于2026-07-03 阅读(0)
扫一扫,手机访问
在 Ubuntu 系统里用 Go 语言打包应用程序,其实核心流程并不复杂。下面就把整个流程拆解开,一步步说清楚。

前提是系统里已经装好了 Go。如果还没装,用下面这行命令就能搞定:
sudo apt update
sudo apt install golang-go
装完之后验证一下:
go version
假设你手头已经有一个 Go 应用,典型的项目结构长这样:
myapp/
├── main.go
└── go.mod
在项目根目录下,运行下面这条命令就能编译出一个可执行文件:
GOOS=linux GOARCH=amd64 go build -o myapp main.go
GOOS=linux 指定目标系统为 Linux。GOARCH=amd64 指定目标架构为 amd64(你也可以换成 arm、arm64 等)。-o myapp 指定输出文件名。如果你希望生成的可执行文件完全不依赖外部的 Go 运行时库,可以用静态编译:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o myapp main.go
CGO_ENABLED=0 关闭 CGo,确保静态链接。-a 强制重新编译所有包。-installsuffix cgo 给安装的包加个后缀,避免和动态链接库冲突。编译好的可执行文件,可以打个包方便分发:
cd ..
tar -czvf myapp.tar.gz myapp
如果你想让应用支持 Snap 或 Flatpak 格式,可以用对应的工具来处理。
先安装 Snapd 和 snapcraft:
sudo apt install snapd snapcraft
然后创建一个 snapcraft.yaml 配置文件:
name: myapp
version: '1.0'
summary: 简要描述你的应用
description: 详细描述你的应用
base: core20
parts:
myapp:
plugin: dump
source: .
stage-packages:
- libgo
apps:
myapp:
command: myapp
运行以下命令构建 Snap 包:
snapcraft
生成的包会在 snap/myapp/current 目录下。
先安装 Flatpak 和 flatpak-builder:
sudo apt install flatpak flatpak-builder
然后创建 flatpak-builder.json 配置文件:
{
"build-system": "flatpak-builder",
"shell": true,
"sources": [
{
"type": "local",
"url": ".",
"ref": "myapp"
}
],
"applications": [
{
"name": "myapp",
"command": "myapp"
}
],
"modules": [
{
"name": "org.golang.Go",
"build": {
"type": "source",
"url": "https://github.com/golang/go.git",
"ref": "go1.20"
}
}
]
}
运行构建命令:
flatpak-builder --repo=myapp myapp flatpak-builder.json
最终生成的 Flatpak 包位于 myapp/ 目录下。
把打包好的压缩文件、Snap 包或 Flatpak 包上传到应用商店,或者通过其他渠道分发出去即可。
以上就是在 Ubuntu 系统中用 Go 语言打包应用程序的完整流程。根据你的实际需求,选择最适合的打包方式和格式就行。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8