赞
踩
问:在 Go 1.13 中如何使用 goproxy.cn?
答:一条 go env-w GOPROXY=https://goproxy.cn,direct
即可。之所以在后面拼接一个 ,direct
,是因为通过这样做我们可以在一定程度上解决私有库的问题(当然, goproxy.cn 无法访问你的私有库)。
这个 GOPROXY
设定的工作原理是:当 go
在抓取目标模块时,若遇见了 404 错误,那么就回退到 direct
也就是直接去目标模块的源头(比如 GitHub) 去抓取。而恰好,GitHub 等类似的代码托管网站的原则基本都是“你无权访问的你来说就是不存在的”,所以我才说通过这样设定可以在一定程度上解决私有库无法通过模块代理访问的问题。
有人可能会问阿里云的也很快,而且阿里云也是大厂,为什么不用阿里云的模块代理(mirrors.aliyun.com/goproxy)。我只能说,当我在使用阿里云的代理做初始化 github.com/kubernetes/kubernetes 的测试时,出现了大量的 404 错误以至于初始化操作无法完成……而且它还不支持代理 GOSUMDB
的默认值也就是 sum.golang.org,因此你还得手动修改 GOSUMDB
才能够正常使用 go
。在速度旗鼓相当的情况下,为什么不考虑直接使用一个更稳定、高可用的呢?而且毕竟 goproxy.cn 这个域名也很好记不是嘛~你只用记住 goproxy
和 .cn
,就没了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。