登录
首页 >  Golang >  Go问答

仅从内部 go 代理下载私有模块,并从外部代理获取公共模块

来源:stackoverflow

时间:2024-04-25 10:36:36 449浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《仅从内部 go 代理下载私有模块,并从外部代理获取公共模块》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我开始迁移 Go 项目以使用模块进行依赖关系管理。我的公司有一个内部 go 代理,仅托管私人模块。因此,我需要一种从内部代理下载 PRIVATE 模块的方法,比如 goproxy.company.com 和公共模块,例如 golang.org/x/tools/cmd/goimportsgithub.com/sirupsen/logrus公开可用的 go 代理,例如 proxy.golang.org。我以为这可以解决这个问题。

GOPROXY='goproxy.company.com,proxy.golang.org,direct'

GPPRIVATE=*.company.com/*

但是,在尝试第一个代理和第二个代理后它会失败,并且从不使用 direct 选项作为后备。这是一个已知问题还是我在这里做错了什么?

有更好的方法吗?预计托管公开可用的 go 模块的公司内部代理是否正常?这是普遍的期望吗?

阅读文档后我有这种感觉。这是参考资料。

正如提案中提到的:保护公共 Go 模块生态系统 我们期望企业环境可以通过内部代理获取所有公共和私有模块;

块引用>

另外,在公司代理的 go docs 示例中 例如,如果一家公司运行一个为私有模块提供服务的模块代理,用户将使用以下方式配置 go: GOPRIVATE=*.corp.example.com GOPROXY=proxy.example.com GONOPROXY=无 这将告诉 go 命令和其他工具模块开始 corp.example.com 子域是私有的,但该公司 代理应该用于下载公共和私有模块, 因为 GONOPROXY 已设置为不匹配任何模式的模式 模块,覆盖 GOPRIVATE。

块引用>

解决方案


Go 1.15 添加了一项功能,现在允许您设置 GOPROXY 来跳过代理。

来自Go 1.15 Release Notes

这应该允许您按照您在问题中指示的方式设置 GOPROXY

今天关于《仅从内部 go 代理下载私有模块,并从外部代理获取公共模块》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>