温馨提示×

ubuntu golang打包哪里学

小樊
44
2026-10-19 00:26:22
栏目: 编程语言

在 Ubuntu 上使用 Go(Golang)进行“打包”,通常有以下几种常见含义,你可以根据目标选择学习方向:


一、Go 程序本身编译打包(最常见)

目标:在 Ubuntu 上把 Go 项目编译成可执行文件,甚至做成 .deb 安装包

学习资源

  1. 官方文档(必看)

    • https://go.dev/doc/
    • https://go.dev/ref/mod(Go Modules)
  2. 基础编译命令

# 安装 Go
sudo apt install golang-go

# 编译
go build -o myapp main.go

# 交叉编译(例如给 Windows)
GOOS=windows GOARCH=amd64 go build -o myapp.exe
  1. 制作 Ubuntu .deb 包
    • 工具:dpkg-deb、fpm
    • 教程:
      • https://ubuntu.com/server/docs/packaging-deb
      • https://github.com/jordansissel/fpm

示例(fpm):

fpm -s dir -t deb -n myapp -v 1.0 \
  --prefix /usr/bin \
  ./myapp

二、Go 模块与依赖管理(go mod)

目标:学会打包/发布 Go 库

go mod init github.com/you/yourlib
go mod tidy

发布到 GitHub 即“打包完成”


三、容器化打包(Docker)

目标:把 Go 程序打包成 Docker 镜像(Ubuntu 常用)

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

FROM ubuntu
COPY --from=build /app/app /usr/bin/app
CMD ["app"]

教程:

  • https://docs.docker.com/language/golang/

四、Snap 打包(Ubuntu 特色)

目标:发布到 Ubuntu Snap Store

sudo snap install snapcraft
snapcraft init
snapcraft

官方:

  • https://snapcraft.io/docs/go-applications

五、中文学习推荐

  • 书籍:《Go 语言实战》《Go 程序设计语言》
  • 网站:
    • https://studygolang.com
    • B 站搜索:“Ubuntu Go 打包”“Go deb 打包”

你可以告诉我:

  • 是 命令行程序 / Web 服务 / GUI?
  • 想打成 deb / docker / snap / 二进制?

我可以直接给你一套可运行的示例。

0 踩