go.1.13中的Modules

环境变量GOPRIVATE

GOPRIVATE升级到go.1.13不得不调整的一个变量。表示引用到的modules是私有的,无须从proxy下载,也无须校验包的checksum

公司内部基本都有自己的git仓库,升级为go.1.13后,需要在GOPRIVATE中设置仓库的通配符地址。如果不设置该环境变量,go加载package时会从GOPROXY获取,而默认的GOPROXY无法找到指定的包。

参考官方提供的例子:

GOPRIVATE=*.corp.example.com,rsc.io/private

环境变量GOPROXY

go.1.13默认将GOPROXY设置为https://proxy.golang.org,direct,但执行go get会发现,这个地址是无法使用的。

从官方的提供的例子中,简单了解GOPROXY的规范:

// returns a list of all known versions of the given module, one per line.
GET $GOPROXY/<module>/@v/list

当通过GOPROXY找不到具体的module时,会看到404或401的状态码

如果就是很烦躁,也可以不使用这个环境变量:

export GOPROXY=off