温馨提示×

ubuntu中golang怎么打包

小樊
36
2026-10-01 10:25:14
栏目: 编程语言

在 Ubuntu 下使用 Go(Golang) 打包(编译成可执行文件)通常很简单,下面按常见场景给你说明。


一、基础打包(本地编译)

1. 安装 Go

先确认已安装 Go:

go version

如果没安装:

sudo apt update
sudo apt install golang-go

2. 编译当前项目

进入你的 Go 项目目录(有 main.go):

cd your_project
go build

会生成一个和目录名同名的可执行文件。

指定输出文件名:

go build -o myapp

二、交叉编译(生成其他平台程序)

示例:Ubuntu 上打包 Windows 程序

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o myapp.exe

示例:打包 Linux ARM(树莓派)

CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o myapp_arm64

常见参数:

  • GOOS: windows / linux / darwin
  • GOARCH: amd64 / arm64 / 386

三、减小可执行文件体积

1. 去掉调试信息

go build -ldflags="-s -w" -o myapp

2. 使用 upx 压缩(可选)

sudo apt install upx
upx myapp

四、打包成 Ubuntu 可安装包(.deb)

如果你是想 发布成 Ubuntu 软件包:

使用 dpkg-deb

mkdir -p myapp/usr/bin
cp myapp myapp/usr/bin/
mkdir myapp/DEBIAN

cat > myapp/DEBIAN/control <<EOF
Package: myapp
Version: 1.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: you <you@example.com>
Description: My Go App
EOF

dpkg-deb --build myapp

生成:

myapp.deb

安装:

sudo dpkg -i myapp.deb

五、后台运行 / 开机启动(补充)

systemd 示例

[Unit]
Description=My Go App

[Service]
ExecStart=/usr/bin/myapp
WorkingDirectory=/opt/myapp
Restart=always

[Install]
WantedBy=multi-user.target

如果你指的是:

  • ✅ 只是编译
  • ✅ 打包 Docker
  • ✅ 发布到 Snap / AppImage
  • ✅ CI/CD 自动打包

可以告诉我具体需求,我可以给你更针对性的方案。

0 踩