1.首先开启go 依赖管理模块支持
go env -w GO111MODULE=on
2.配置goproxy代理:
七牛云配置:
go env -w GOPROXY=https://goproxy.cn
3.配置或关闭GOSUMDB校验:
Go 1.16设置了默认的GOSUMDB=sum.golang.org,是用来验证包的有效性。这个网址由于墙的原因可能无法访问,所以可以使用下面命令来关闭:
go env -w GOSUMDB=off
这三步配置完成之后,重启vscode,在Ctrl+Shift+P
然后搜索>Go:Install/Update Tools
然后勾选全部项目即可。
备注:
1、GO111MODULE
用环境变量 GO111MODULE
开启或关闭模块支持,它有三个可选值:off
、on
、auto
,默认值是 auto
。
-
GO111MODULE=off
无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 -
GO111MODULE=on
模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据go.mod
下载依赖。 -
GO111MODULE=auto
默认值,go命令行将会根据当前目录来决定是否启用module功能。在$GOPATH/src
外面且根目录有go.mod
文件时,开启模块支持。
当modules 功能启用时,依赖包的存放位置变更为$GOPATH/pkg
,允许同一个package多个版本并存,且多个项目可以共享缓存的 module。在使用模块的时候,
GOPATH
是无意义的,不过它还是会把下载的依赖储存在$GOPATH/src/mod
中,也会把go install
的结果放在$GOPATH/bin
中。
其中,direct的作用是:特殊指示符,用于指示 Go 回源到模块版本的源地址去抓取
2、GOSUMDB
GOSUMDB(go checksum database)是Go官方为了go modules安全考虑,设定的module校验数据库,服务器地址为:sum.golang.org
具体可参考:
golang的goproxy配置······https://www.jianshu.com/p/31ef52df135d
谈谈gomod/goproxy/gosumdb······https://zhuanlan.zhihu.com/p/111722890