问题
在go1.13以后使用go mod可能会遇到 cannot find module providing package的问题。
解决方案
这主要是由于不能找到我们某些依赖的模块。如果遇到这种问题。我们可以尝试使用go get来安装这些模块。
如果使用go get安装模块依然不能生效。返回网络错误码404或者410.很有可能是我们无法连接golang.org的GOSUBDB去验证包的有效性。
这个时候可以设置GOSUBDB为off。绕过验证
go env -w set GOSUBDB = off
同时可以设置https://goproxy.io/zh/ 的代理让我们可以正常的安装使用的包。
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
# 设置不走 proxy 的私有仓库,多个用逗号相隔(可选)
go env -w GOPRIVATE=*.corp.example.com
# 设置不走 proxy 的私有组织(可选)
go env -w GOPRIVATE=example.com/org_name