Mac解決VsCode導入Golang第三方包出錯 【from $GOPATH】【from $GOROOT】
問題描述
經(jīng)常遇到vsCode導入Go的第三方包出錯,主要提示路徑不對,例如以下出錯提示。

image.png
這咱問題引起的主因是vsCode中的go.Path文件沒有設(shè)置好。因為mod開啟后,會自動到pkg這個包,也就是src同級目錄。本人不想將mod下載下來的第三方包放置在src目錄文件件中,但vscode設(shè)置了go.Path路徑后,會自動在在路徑中加入src,因為這個問題在網(wǎng)上查找了很多相關(guān)資料都未得到解決。今天自己查看這個問題并得以解決以示記錄,防備后續(xù)遇到相關(guān)問題,便于解決
設(shè)置VsCode
用command+,打開配置信息

image.png
進入設(shè)置配置文件
點擊Edit in setting.jso
加入如下代碼:
{
"go.gopath": "/Users/xx/Documents/Code/go/pkg/mod"
}
保存后退出
設(shè)置go配置文件
在終端輸入
go env|grep GOMODCACHE
查看下當前配置文件時的cache存放路徑,將其修改為與vscode的go.path路徑相同并多增加一層路徑/src,因為vscode會自動增加/src路徑
修改命令如下:
go env -w GOMODCACHE="/Users/xx/Documents/Code/go/pkg/mod/src"
至此配置完成,以解決了不想將mod的第三方庫下載到src,亂的問題,同時解決引入包出錯的問題。
完成后記得重啟vscode,并且以上的方法是使用mod管理包情況下,需要開啟GO111MODULE="on"