Mac解决VsCode导入Golang第三方包出错 【from $GOPATH】【from $GOROOT】
问题描述
经常遇到vsCode导入Go的第三方包出错,主要提示路径不对,例如以下出错提示。
这咱问题引起的主因是vsCode中的go.Path文件没有设置好。因为mod开启后,会自动到pkg
这个包,也就是src
同级目录。本人不想将mod下载下来的第三方包放置在src目录文件件中,但vscode设置了go.Path路径后,会自动在在路径中加入src,因为这个问题在网上查找了很多相关资料都未得到解决。今天自己查看这个问题并得以解决以示记录,防备后续遇到相关问题,便于解决
设置VsCode
用command+,
打开配置信息
进入设置配置文件
点击Edit in setting.jso
加入如下代码:
{
"go.gopath": "/Users/xx/Documents/Code/go/pkg/mod"
}
保存后退出
设置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"