goland使用vendor作為獲取依賴源
軟件版本:
system:windows10 1709
terminal: wsl ubuntu1804
goland:201903
goland 打開項目時使用mod模式,無法識別外部包的依賴
根據goland官方提示,開啟時,將忽略go.mod依賴描述,所以就找不到相對應的依賴,但是編譯時正常的。可以看到下圖中,external libraries
並沒有加載外部的庫導致了無法識別。
此時想要正常使用的話,可以按照提示操作
將 goland 改為gopath模式,執行go mod vendor
將依賴同步到vendor 。此時正常。
當依賴更新時,可以手動添加對應的依賴庫,go mod tidy
后 。因為vendor中沒有新的依賴,需要手動執行下go mod vendor
即可正常使用。
使用vendor編譯
在編譯時,可以使用 -mod=vendor
標記,使用代碼主目錄文件夾下vendor
目錄滿足依賴獲取,go build -mod=vendor
。此時,go build
忽略go.mod
中的依賴,(這里僅使用代碼root目錄下的vendor其他地方的將忽略)
GOFLAGS=-mod=vendor
設置頂級vendor作為依賴 go env -w GOFLAGS="-mod=vendor"
進行設置。 取消 go env -w GOFLAGS="-mod="