windows上GOROOT和GOPATH的設定
阿新 • • 發佈:2019-01-29
下載了go語言的安裝包, 然後安裝, 裝完了需要設定三個地方:
1. 在windows的PATH變數中新增go的可執行檔案所在的目錄:
PATH=C:\Go\bin;其他設定;
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
只推薦這一篇, 其他的都是狗屎.