温馨提示×

golang ubuntu打包怎操作

小樊
41
2026-09-22 14:46:42
栏目: 编程语言

在 Ubuntu 上用 Golang 打包(编译成可执行文件),一般步骤如下:


一、基础环境准备

1. 安装 Go

sudo apt update
sudo apt install golang-go

验证:

go version

(或用官方二进制包:https://go.dev/dl/)


二、编译单个程序(本地打包)

进入项目目录:

cd your_project

编译:

go build -o app main.go

生成的可执行文件:

./app

三、交叉编译(常见需求)

1. 编译 Linux 可执行文件(默认)

GOOS=linux GOARCH=amd64 go build -o app

2. 编译 Windows 程序

GOOS=windows GOARCH=amd64 go build -o app.exe

3. 编译 macOS 程序

GOOS=darwin GOARCH=amd64 go build -o app_mac

四、减小包体积(推荐)

1. 去除调试信息

go build -ldflags="-s -w" -o app

2. 使用 upx 压缩

sudo apt install upx
upx app

五、打包成 deb 安装包(Ubuntu 常用)

方法 1:使用 dpkg-deb

目录结构示例:

myapp/
├── DEBIAN
│   └── control
├── usr
│   └── local
│       └── bin
│           └── app

control 文件示例:

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

打包:

dpkg-deb --build myapp

六、Docker 打包(推荐生产环境)

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

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

构建:

docker build -t myapp .

七、常见问题

1. 找不到 Go 命令

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

2. 依赖问题

go mod tidy
go mod download

如果你是指:

  • ✅ 打包成 deb
  • ✅ 打包成 docker
  • ✅ 交叉编译给 Windows / macOS
  • ✅ 带 Web 前端 一起打包

可以告诉我具体场景,我给你更精确的命令。

0 踩