在Ubuntu上打包Golang程序需注意以下要點:
環境準備
sudo apt install golang-go
安裝,或手動下載安裝包配置環境變量。GOPATH
、GOROOT
等環境變量,確保依賴路徑正確。依賴管理
go mod init
初始化模塊,go mod tidy
自動管理依賴,避免版本沖突。編譯優化
CGO_ENABLED=0
,生成不依賴動態庫的二進制文件,適合跨平臺或輕量環境。GOOS
和GOARCH
指定目標系統(如GOOS=linux GOARCH=amd64
),生成適配不同環境的可執行文件。文件處理
upx
工具(sudo apt install upx-ucl
)減小體積,如upx --best myapp
。tar -czvf
將可執行文件打包為.tar.gz
,便于分發。部署選項
systemd
創建服務文件(如myapp.service
),實現開機自啟和進程管理。注意事項
libc.so
)到目標系統。scratch
基礎鏡像(如debian:bookworm-slim
),方便排查問題。