zl程序教程

您现在的位置是:首页 >  其他

当前栏目

[Go] go mod 设置GOPROXY环境变量中的direct意义

2023-02-18 15:41:51 时间

当开启go mod时需要设置的环境变量

GOPROXY
这个环境变量主要是用于设置 Go 模块代理,主要如下:

它的值是一个以英文逗号 “,” 分割的 Go module proxy 列表

作用:用于使 Go 在后续拉取模块版本时能够脱离传统的 VCS 方式从镜像站点快速拉取。它拥有一个默认:https://proxy.golang.org,direct,但很可惜 proxy.golang.org 在中国无法访问,故而建议使用 goproxy.cn 作为替代,可以执行语句:go env -w GOPROXY=https://goproxy.cn,direct


设置为 “off” :禁止 Go 在后续操作中使用任 何 Go module proxy。
“direct” 为特殊指示符,用于指示 Go 回源到模块版本的源地址去抓取(比如 GitHub 等),当值列表中上一个 Go module proxy 返回 404 或 410 错误时,Go 自动尝试列表中的下一个,遇见 “direct” 时回源,遇见 EOF 时终止并抛出类似 “invalid version: unknown revision...” 的错误。

 

使用go env -w 写入的环境变量位置默认是

root用户下

/root/.config/go/env

也就是

$HOME/.config/go/env