GO1.13MODULES使用
千呼万唤始出来,GO1.13 这个月终于发布了。
说下在 cn 正确使用 MODULES 的方式。
设置方式
go env -w GOPROXY=https://goproxy.cn,direct
这一句运行即可,注意的是会被环境变量覆盖掉。
GOSUMDB
如果设置了 goproxy.cn, 那么 GOSUMDB 就不用设置了。
GOSUMDB 默认是https://sum.golang.org
, 在 cn 可以使用 https://sum.golang.google.cn/
。 运行 go env -w GOSUMDB=https://sum.golang.google.cn/
即可。
私有库
go 提供了 GONOPROXY、GONOSUMDB 还有 GOPRIVATE 三个参数针对私有库。
GOPRIVATE 可以设置一个以逗号分割的列表,其中匹配的所有网址都将作为私有库被信任,因此不与 sumdb 对比。
GONOSUMDB 和 GONOPROXY 接受相同的列表,覆盖掉 GOPRIVATE 的值。这两者提供了更细致的私有库控制,可以选择性的私有库不走代理或者不检查 sum 。
Example 1:
GOPRIVATE=git.example.com,git.example.cn
Example 2:
GONOSUMDB=git.example.com
如上例1,这样设置的话,就会将 git.example.com 和 git.example.cn 通通认为是私有库,也就不走代理和 sumdb 验证了。
例2只设置了 GONOSUMDB,那么 git.example.com 还是会走代理,但是不会走 sumdb 验证。 GONOPROXY 同理。
详细文档可以在 GO1.13 中运行 go help module-private
查看。