温馨提示×

golang在ubuntu打包吗

小樊
35
2026-10-07 06:32:59
栏目: 编程语言

可以的,Go(Golang)完全可以在 Ubuntu 上打包(编译/构建),而且这是非常常见的做法。下面从几个常见角度给你说明。


一、在 Ubuntu 上直接打包 Go 程序

1. 安装 Go

sudo apt update
sudo apt install golang-go

或安装官方版本(推荐):

wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz

配置环境变量:

export PATH=$PATH:/usr/local/go/bin

2. 编译 Go 程序

go build -o myapp main.go

生成的就是 Linux 可执行文件。


二、Ubuntu 上交叉编译(打包其他平台)

Go 支持交叉编译,在 Ubuntu 上可以打包 Windows / macOS 程序。

打包 Windows(64 位)

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

打包 macOS(Intel)

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o myapp_mac

打包 macOS(Apple Silicon)

CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o myapp_mac_arm

三、Ubuntu 上打包成 deb 安装包(可选)

如果你想在 Ubuntu 上生成 .deb 包:

使用 dpkg-deb

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

cp myapp myapp/usr/bin/

创建 myapp/DEBIAN/control:

Package: myapp
Version: 1.0
Architecture: amd64
Maintainer: you@example.com
Description: My Go App

打包:

dpkg-deb --build myapp

四、常见注意点

  • ✅ Ubuntu 非常适合 Go 编译
  • ⚠️ 如果用了 cgo,交叉编译会复杂很多
  • ✅ 服务器/CI(如 GitHub Actions、GitLab CI)常用 Ubuntu 打包 Go

如果你是指:

  • 在 Ubuntu 上打包 Docker 镜像
  • 用 GitHub Actions 在 Ubuntu 打包
  • 打包成 systemd 服务

可以告诉我具体场景,我可以给你更详细的方案。

0 踩