1 回答

TA貢獻1744條經驗 獲得超4個贊
如命令的文檔所述:go
GOPATH 環境變量列出了查找 Go 代碼的位置。在 Unix 上,該值是一個以冒號分隔的字符串。在 Windows 上,該值是以分號分隔的字符串。在計劃 9 上,該值是一個列表。
如果未設置環境變量,則 GOPATH 默認為用戶主目錄中名為“go”的子目錄(Unix 上為 $HOME/go,Windows 上的 %USERPROFILE%\go),除非該目錄包含 Go 發行版。運行“go env GOPATH”以查看當前的GOPATH。
因此,您引用的語法僅用于描述 GOPATH 中的項,正如我們所看到的,它可以是一個列表,而不僅僅是對單個路徑的引用。$GOPATH[i]
讓我們假設我的 Linux 機器上有以下內容:,并且我正在處理 .GOPATH
/home/me/go:/gofaster
/home/me/go/src/example.com/testing
最小模塊兼容性規則會按順序說,即。為了解決我的依賴關系,Go會檢查:example.com/utils/v2
我在(即供應商目錄)中沒有軟件包
/home/me/go/src/example.com/testing/vendor/example.com/utils/v2
我沒有在 none 中或 (即檢查兩個 gopath) 中沒有包。
/home/me/go/src/example.com/utils/v2
/gofaster/src/example.com/utils/v2
我在其中一個或中有一個包(注意缺少v2)。
/home/me/go/src/example.com/utils
/gofaster/src/example.com/utils
如果我在這兩個目錄中都有一個包,那么它將用于解析依賴關系。
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報