[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
中主要包含三個資料夾:src
、pkg
、bin
:
$GOPATH/bin
:主要放的是當執行go install
時, Go 編譯後的執行檔。一般來說會建議把這個資料夾加到系統上的 global$PATH
變數,如此直接在終端機中執行這些編譯後的執行檔。$GOPATH/pkg
:包存一些編譯前的物件,已簡短編譯所需的 時間,一般來說,開發者並不需要進來這裡。若在編譯時碰到錯誤,可以安心地把這個資料夾刪除,Go 會自己再建立新的。
GOROOT
$GOROOT
和 $GOPATH
不同,GOROOT 裡面放的是 Go 語言本身自己要用的東西,或是內建的函式庫,像是 Go 編譯成執行檔時所用的工具。預設的情況下,$GOROOT
的路徑通常會是 /use/local/go
,而 $GOPATH
會是 $HOME/go
。
參考
- Understanding the GOPATH by By Gopher Guides @ digital ocean community