在 Ubuntu 上用 **Golang 打包(编译成可执行文件)**通常很简单,下面按常见场景给你说明。
sudo apt update
sudo apt install golang-go
验证:
go version
进入你的项目目录(有 main.go):
cd your_project
go build
会在当前目录生成可执行文件(与目录同名)。
指定输出文件名:
go build -o myapp
GOOS=linux GOARCH=amd64 go build -o myapp
GOOS=windows GOARCH=amd64 go build -o myapp.exe
GOOS=darwin GOARCH=amd64 go build -o myapp
go build -ldflags="-s -w" -o myapp
sudo apt install upx
upx myapp
如果你想做成 可直接安装的软件包:
sudo apt install dpkg-dev
myapp/
├── DEBIAN
│ └── control
├── usr
│ └── local
│ └── bin
│ └── myapp
Package: myapp
Version: 1.0
Architecture: amd64
Maintainer: you@example.com
Description: My Go App
dpkg-deb --build myapp
FROM golang:1.21 as build
WORKDIR /app
COPY . .
RUN go build -o app
FROM ubuntu
COPY --from=build /app/app /usr/local/bin/app
CMD ["app"]
go mod tidy
CGO_ENABLED=0 go build -o myapp
如果你能说清楚:
我可以给你更精确的打包方案。