在Ubuntu系統上打包Golang項目時,需注意以下關鍵點:
環境準備
go version
驗證。GOPATH
和GOROOT
環境變量(推薦使用Go Modules管理依賴,避免依賴GOPATH)。打包命令與優化
go build -o <輸出文件名>
生成二進制文件。CGO_ENABLED=0
生成無動態庫依賴的二進制文件,適合跨平臺。GOOS
和GOARCH
指定目標平臺(如GOOS=linux GOARCH=amd64
)。upx --best <文件名>
減小體積。依賴管理
go mod init
)并自動管理依賴(go mod tidy
)。部署與分發
start.sh
)并賦予執行權限(chmod +x
)。chmod +x
),避免權限錯誤。常見問題規避
nil
的slice/map時需先初始化,避免運行時panic。