可以的,Go(Golang)完全可以在 Ubuntu 上打包(编译/构建),而且这是非常常见的做法。下面从几个常见角度给你说明。
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
go build -o myapp main.go
生成的就是 Linux 可执行文件。
Go 支持交叉编译,在 Ubuntu 上可以打包 Windows / macOS 程序。
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o myapp.exe
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o myapp_mac
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o myapp_mac_arm
如果你想在 Ubuntu 上生成 .deb 包:
dpkg-debmkdir -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
cgo,交叉编译会复杂很多如果你是指:
可以告诉我具体场景,我可以给你更详细的方案。