以下是在Ubuntu上打包Golang應用的實用技巧:
環境準備
apt
安裝Go:sudo apt update && sudo apt install golang
。~/.bashrc
中添加export PATH=$PATH:/usr/local/go/bin
,并執行source ~/.bashrc
。高效編譯
go build -o app_name
,生成可執行文件。CGO_ENABLED=0
,生成不依賴C庫的二進制文件,適合無Go環境的系統:CGO_ENABLED=0 go build -o app_name
。GOOS
和GOARCH
生成其他平臺可執行文件,例如:GOOS=linux GOARCH=amd64 go build -o app_name
(在Ubuntu生成Linux 64位包)。優化打包體積
upx
后,對二進制文件執行upx --best app_name
,可減少約50%-70%體積。debian:buster-slim
),降低鏡像體積。依賴管理
go mod
管理依賴,確保版本一致性:
go mod init
go mod tidy
。部署與分發
start.sh
腳本(如#!/bin/bash ./app_name
),簡化啟動流程。dpkg-deb
工具將應用打包為Ubuntu可安裝的.deb
包。注意事項
-installsuffix cgo
避免沖突。參考來源: