温馨提示×

ubuntu golang打包要装什么

小樊
44
2026-10-24 22:46:19
栏目: 编程语言

在 Ubuntu 上用 Golang 打包(编译)程序,一般视情况需要装以下内容:


一、最基础(纯 Go 程序)

如果只写纯 Go、不调用 C 库:

sudo apt update
sudo apt install golang-go
# 或
sudo apt install golang

验证:

go version

✅ 不需要额外装东西,直接:

go build

二、需要 CGO(调用 C 代码)

如果用到:

  • import "C"
  • SQLite(mattn/go-sqlite3)
  • 某些加密 / 图像处理库

需要安装 C 编译工具链:

sudo apt install build-essential

包含:

  • gcc
  • glibc 头文件
  • make 等

验证:

gcc --version

三、交叉编译(如打包给 Windows / macOS)

一般不用装额外东西(Go 自带交叉编译):

# 给 Windows
GOOS=windows GOARCH=amd64 go build

# 给 macOS
GOOS=darwin GOARCH=arm64 go build

⚠️ 若使用 CGO + 交叉编译,则需要对应平台的交叉编译器(较复杂,一般不建议)。


四、打包成 deb 安装包(Ubuntu 专用)

如果你想生成 .deb:

sudo apt install dpkg-dev

或用工具:

go install github.com/deb-sig/dh-make-golang@latest

五、容器 / CI 场景(推荐)

最干净方式:用官方镜像

FROM golang:1.22
WORKDIR /app
COPY . .
RUN go build

六、常见坑

  1. go: command not found → 没装 golang
  2. cannot find -lxxx → 缺系统库(如 libsqlite3-dev)
  3. CGO_ENABLED=1 报错 → 没装 build-essential

如果你能说一下:

  • 是 Web / CLI / 服务
  • 是否用 SQLite / CGO
  • 要打 linux / windows / deb

我可以给你一条精确命令。

0 踩