go proxy的设置
在golang的使用过程中,我们会经常发现有些国外的站点因为被墙导致使用go get
访问不了,此时我们可以设置代理。如下适用于Go 1.13
及之后的版本。
1. go proxy设置
在Go 1.13中,我们可以通过GOPROXY
来控制代理,以及通过GOPRIVATE
控制私有库不走代理。
- 设置GOPROXY代理
# go env -w GOPROXY=https://goproxy.cn,direct
- 设置GOPRIVATE来跳过私有库,使其不走代理。比如常用的GitLab或Gitee,中间使用逗号分割
# go env -w GOPRIVATE=*.gitlab.com,*.gitee.com
- 如果在运行go mod vendor时,提示
则是因为Go 1.13设置了默认的GOSUMDB=sum.golang.org
,这个网站是被墙了的,用于验证包的有效性,可以通过如下命令关闭:
# go env -w GOSUMDB=off
这样私有仓库就会自动忽略验证。
- 可以设置GOSUMDB=”sum.golang.google.cn”,这个是专门为国内提供的sum验证服务
# go env -w GOSUMDB="sum.golang.google.cn"
-w
标记要求一个或多个形式为NAME=VALUE的参数,并且覆盖默认的设置
[参看]: