在 Linux 下進行 Golang 靜態編譯,你需要設置環境變量 CGO_ENABLED
為 0
,并使用 go build
命令來編譯你的程序。這將生成一個不依賴于 C 語言庫的可執行文件,因此可以在沒有安裝 Go 環境的 Linux 系統上運行。
以下是靜態編譯的步驟:
打開終端。
設置環境變量 CGO_ENABLED
為 0
。這將禁用 CGo,從而確保生成的二進制文件是靜態鏈接的。在終端中輸入以下命令:
export CGO_ENABLED=0
go build
命令編譯你的程序。例如,如果你的 Go 源代碼文件名為 main.go
,則可以使用以下命令編譯:go build -o myapp main.go
這將在當前目錄下生成一個名為 myapp
的可執行文件。這個文件是靜態編譯的,不依賴于外部的 C 語言庫。
myapp
)復制到目標 Linux 系統上,并在沒有安裝 Go 環境的系統上運行它。由于它是靜態編譯的,因此不需要擔心依賴問題。注意:靜態編譯可能會導致生成的可執行文件較大,因為它包含了所有需要的庫。如果你希望減小文件大小,可以嘗試使用一些工具(如 upx
)來壓縮可執行文件。