編碼的世界 / 優質文選 / 財富

windows上GOROOT和GOPATH的設置


2021年11月27日
-   

下載了go語言的安裝包, 然後安裝, 裝完了需要設置三個地方:
1. 在windows的PATH變量中添加go的可執行文件所在的目錄:
PATH=C:Goin;其他設置;

2. 設置 GOROOT , 這個好理解, 直接設置成 C:Go 即可
GOROOT=C:Go

3. 設置GOPATH, 這個很難理解, 我的嘗試:
GOPATH= #就是等於空, 這個是可以在系統環境變量中設置的, 結果報錯go get 包的時候報錯說$GOPATH未設置
GOPATH=; #就是等於一個分號(;), go get 包開始可以運行, 不報錯, 最後還是報錯, 說$GOPATH未設置
GOPATH=C:Go 或者GOPATH=C:Go; #go get 包報錯, 說$GOPATH不能設置成和GOROOT一樣的

最後的解決方案是:
在C盤創建一個目錄叫做GOPATH, 然後設置GOPATH=C:GOPATH,  
GOPATH=C:GOPATH

go get 包可以使用了, 最後包會安裝到 C:GOPATH 目錄的pkg和src文件夾裏, pkg裏是*.a格式的, 暫且理解為庫吧, src目錄裏是*.go格式的源碼.
總結
實際上GOPATH, 可以是一個目錄的列表, 在windows環境變量裏設置的時候, 多個目錄使用分號(;)隔開, 在linux裏多個目錄使用冒號(:)隔開, 組合的一個字符串.
GOPATH是一些列用於go來查找包的目錄列表. 使用import "包名" 的時候, 如果在 GOROOT裏找不到, 應該會轉向到你的GOPATH裏去尋找.
不讓GOPATH和GOROOT環境變量的值設置為同一個目錄, 可能是因為不想你新安裝的包, 汙染了核心go的pkg和src文件.
參考資料:
GOROOT 和 GOPATH: http://my.oschina.net/achun/blog/134002 
只推薦這一篇, 其他的都是狗屎.

熱門文章