温馨提示×

怎么在ubuntu打golang包

小樊
43
2026-10-10 06:02:01
栏目: 编程语言

在 Ubuntu 上“打 Golang 包”一般有几种常见含义,我先按最常见的场景给你说明,你看看哪一种符合你的需求:


一、编译(build)Go 程序为可执行文件(最常用)

1. 安装 Go

sudo apt update
sudo apt install golang-go

验证:

go version

2. 编译项目

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

cd your_project
go build

会生成一个和目录同名的二进制文件。

指定输出文件名:

go build -o myapp

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

例如编译 Linux ARM64:

GOOS=linux GOARCH=arm64 go build -o myapp-arm64

常见组合:

# Windows
GOOS=windows GOARCH=amd64 go build -o myapp.exe

# macOS
GOOS=darwin GOARCH=arm64 go build -o myapp-mac

三、打包成 Ubuntu / Debian 的 .deb 安装包

如果你想在 Ubuntu 上“打安装包”,通常是 .deb。

方法 1:使用 dpkg-deb(简单)

mkdir -p mypackage/DEBIAN
mkdir -p mypackage/usr/bin

cp myapp mypackage/usr/bin/

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

dpkg-deb --build mypackage

生成:

mypackage.deb

安装:

sudo dpkg -i mypackage.deb

方法 2:使用 nfpm(推荐,现代方式)

go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest

写 nfpm.yaml 后:

nfpm package

四、发布版本(GitHub Release 风格)

常用工具:

  • goreleaser(最流行)
go install github.com/goreleaser/goreleaser@latest
goreleaser release

五、如果你是问“怎么写 Go 包(库)”

那就不是打包,而是:

go mod init github.com/you/mylib

然后别人:

go get github.com/you/mylib

你可以告诉我:

  • ✅ 是 编译成可执行文件
  • ✅ 还是 打 .deb 安装包
  • ✅ 还是 交叉编译
  • ✅ 还是 发布库

我可以给你更精确的命令和示例。

0 踩