Go Module proxy

2021-06-14  本文已影响0人  戈壁堂

Go Module proxy

go get命令可以通过代理服务器获取到所需的依赖,而不需要访问提供此依赖的原始站点,例如Github, Gitlab

代理服务器上有对应版本

go get命令尝试从代理服务器获取模块,当无法从代理服务器获取到代码时,再直接从原始站点直接下载。

我们可以通过环境变量设置来改变这一行为。

6 配置Go Module代理

代理配置通过环境变量GOPROXY来设置。执行go env GOPROXY可以查看当前的代理配置。默认值为https://proxy.golang.org,direct

Go从左到右依次尝试访问配置好的代理服务器地址下载源码。当遇到关键字direct时,将尝试直接从原始站点下载源码

6.1 关闭Go Module代理

GOPROXY的值设置为off即可关闭Go Module代理功能

7 Go Module代理服务器的四个接口 (进阶)

Go Module代理对外暴露四个GET类型的接口:

v1.0.0
v1.0.1

8 常见错误:最新版本下载失败

当模块发布了一个新的小版本或补丁时,执行命令go get -u <module path>不会总是立即下载最新的版本或补丁。代理服务通常会使用缓存策略以提高服务质量。解决这种下载失败的问题,有两种方案:

上一篇下一篇

猜你喜欢

热点阅读