在 Ubuntu 上用 Golang 打包(编译成可执行文件),一般步骤如下:
sudo apt update
sudo apt install golang-go
验证:
go version
(或用官方二进制包:https://go.dev/dl/)
进入项目目录:
cd your_project
编译:
go build -o app main.go
生成的可执行文件:
./app
GOOS=linux GOARCH=amd64 go build -o app
GOOS=windows GOARCH=amd64 go build -o app.exe
GOOS=darwin GOARCH=amd64 go build -o app_mac
go build -ldflags="-s -w" -o app
sudo apt install upx
upx app
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
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 .
export PATH=$PATH:/usr/local/go/bin
go mod tidy
go mod download
如果你是指:
可以告诉我具体场景,我给你更精确的命令。