我开始迁移一个 Go 项目以使用模块进行依赖管理。我的公司有一个仅托管私有模块的内部 go 代理。所以,我需要一种从内部代理下载 PRIVATE 模块的方法,比如说从goproxy.company.com
公开可用的 go 代理(比如. 我以为这会解决它。golang.org/x/tools/cmd/goimports
github.com/sirupsen/logrus
proxy.golang.org
GOPROXY='goproxy.company.com,proxy.golang.org,direct'
GPPRIVATE=*.company.com/*
但是,在尝试了第一个代理和第二个代理后它失败了,并且从不使用该direct
选项作为后备。这是一个已知问题还是我在这里做错了什么?
有一个更好的方法吗?托管公开可用的 go 模块的公司内部代理是否正常?这是普遍的预期吗?
阅读文档后,我有这种感觉。以下是参考资料。
我们希望公司环境可以通过内部代理获取所有模块,公共的和私有的;
此外,在公司代理的go docs示例中
例如,如果一家公司运行一个为私有模块提供服务的模块代理,用户将使用以下命令配置 go:
GOPRIVATE=*.corp.example.com GOPROXY=proxy.example.com GONOPROXY=none
这将告诉 go 命令和其他工具,以 corp.example.com 子域开头的模块是私有的,但公司代理应该用于下载公共和私有模块,因为
GONOPROXY
已设置为不匹配的模式任何模块,覆盖GOPRIVATE
.