golang 代理direct的意义

本文介绍了如何配置和使用Go模块代理,包括设置GOPROXY环境变量为公共或私有代理,以及Go 1.13版本中的新特性,如GOPRIVATE变量用于处理私有库。此外,还提到了自托管代理和商业解决方案的选择。
摘要由CSDN通过智能技术生成

如何使用Go模块代理

要开始使用Go模块代理,我们需要将GOPROXY环境变量设置为兼容的Go module proxy。有多种方法:

1。)如果GOPROXY没有设置,空或设置为directgo get会直接从VCS(例如github.com)的下载依赖:

GOPROXY=""
GOPROXY=direct

也可以将其设置为off,这表示不访问任何的网络。

GOPROXY=off

2.)您可以开始使用公共Go代理。您的选择之一是使用Go小组(*由Google维护*)中的Go代理。可以在这里找到更多信息:https : //proxy.golang.org/

要开始使用它,您只需设置环境变量:

GOPROXY=https://proxy.golang.org

其他公共代理有:

GOPROXY=https://goproxy.io
GOPROXY=https://goproxy.cn # proxy.golang.org 被墙了, 可以使用这个代替

3.)也可以运行多个开源实现并自己托管。例如:

这需要自己来维护。但可自己决定这个代理是通过公共互联网还是只能内部网络访问。

4.)可以购买商业产品:

5.)甚至可以传递一个file:///URL。由于Go模块代理是响应GET请求(没有查询参数)的Web服务器,因此任何文件系统中的文件夹也可以用作Go模块代理。

即将进行的Go v1.13更改(已经发布)

Go v1.13版本中的Go proxy会有一些变化,我认为应该强调:

  1. GOPROXY环境变量现在可以设置为逗号分隔的列表。在回退到下一个路径之前,它将尝试第一个代理。

  2. 默认值GOPROXYhttps://proxy.golang.org,directdirect token后的所有内容都会被忽略。这也意味着go get现在将默认使用GOPROXY。如果根本不想使用Go代理,则需要将其设置为off

  3. 引入了一个新的环境变量GOPRIVATE,是一个逗号分隔的支持glob匹配规则的列表。这可用于绕过GOPROXY某些路径的代理,尤其是公司中的私有库(例如:)GOPRIVATE=*.internal.company.com

(白话翻译:GOPROXY设置例如GOPROXY=https://goproxy.cn,direct,意思是,首先尝试从https://goproxy.cn进行下载,如果没有,启用direct,即从仓库的的源地址下载,比如 githu.com/spf13/viper 这个路径,会使用https://githu.com/spf13/viper 这个路径进行下载。GOPRIVATE变量相当于同时设置了GONOPROXYGONOSUMDB,即对某个指定的私有仓库,直接从私有仓库拉取而不走github,而且不对模块进行校验)

所有这些更改表明Go模块代理是Go模块的核心和重要部分。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值