go代理设置

go代理设置

由于国内墙的存在go get经常失败,记录安装依赖时go代理设置

go代理设置

Go 1.13中,我们可以通过GOPROXY来控制代理,以及通过GOPRIVATE控制私有库不走代理

GOPROXY

国内常用代理

1
2
3
https://goproxy.cn
https://goproxy.io
https://mirrors.aliyun.com/goproxy/

设置GOPROXY代理

1
go env -w GOPROXY=https://goproxy.cn,direct

GOPRIVATE

设置GOPRIVATE来跳过私有库,比如常用的GitlabGitee,中间使用逗号分隔:

1
go env -w GOPRIVATE=*.gitlab.com,*.gitee.com

GOSUMDB

如果在运行go mod vendor时,提示: Get https://sum.golang.org/lookup/xxxxxx: dial tcp 216.58.200.49:443: i/o timeout 则是因为Go 1.13设置了默认的GOSUMDB=sum.golang.org,这个网站是被墙了的,用于验证包的有效性,可以通过如下命令关闭:

1
go env -w GOSUMDB=off

可以设置GOSUMDB="sum.golang.google.cn", 这个是专门为国内提供的sum验证服务。

1
go env -w GOSUMDB="sum.golang.google.cn"
updatedupdated2019-11-202019-11-20
点击刷新