跳至主要内容

[Golang] 環境變數 environment variables

Go Tool 編譯後執行檔會存放在 GOPATH 或 GOBIN 中。如果 GOBIN 有進行設定,執行檔(binaries)會安裝在該資料夾中;如果 GOPATH 有設定的話,而 GOBIN 沒有設定的話,執行檔則會安裝在 GOPATH/bin 資料夾中。

預設的情況下,GOPATH 的路徑會是 $HOME/go

設定環境變數

$ go env   # 印出所有環境變數

# 使用 go env 設定還境變數
# 使用 -w 設定環境變數
# 使用 -u 移除環境變數
$ go env -w GOBIN=/somewhere/else/bin
$ go env -u GOBIN

# 顯示說明文件
$ go help env

GOPATH

在沒有使用 Go Modules 前,GOPATH 會是所有工作環境的根目錄。

GOPATH 中主要包含三個資料夾:srcpkgbin

  • $GOPATH/bin :主要放的是當執行 go install 時, Go 編譯後的執行檔。一般來說會建議把這個資料夾加到系統上的 global $PATH 變數,如此直接在終端機中執行這些編譯後的執行檔。
  • $GOPATH/pkg:包存一些編譯前的物件,已簡短編譯所需的時間,一般來說,開發者並不需要進來這裡。若在編譯時碰到錯誤,可以安心地把這個資料夾刪除,Go 會自己再建立新的。

GOROOT

$GOROOT$GOPATH 不同,GOROOT 裡面放的是 Go 語言本身自己要用的東西,或是內建的函式庫,像是 Go 編譯成執行檔時所用的工具。預設的情況下,$GOROOT 的路徑通常會是 /use/local/go,而 $GOPATH 會是 $HOME/go

參考