从go 1.13开始,go模块使用https://proxy.golang.org/缓存存储库。考虑一下我在github.com/Ihtkas/libraries中有一个私有(private)存储库作为go模块,并且将该模块导入了另一个本地go代码sort.go中。当我使用GIT_TERMINAL_PROMPT = 1构建本地代码时,请使用我的本地存储库登录凭据来构建sort.go。在这种情况下,go是否会将私有(private)存储库缓存在proxy.golang.com中?当其他人导入相同的私有(private)软件包并使用有效凭据访问该软件包时,私有(private) repo 中的软件包是否从proxy.golang.com提供,而身份验证仅转发给了github.com?
我的确切问题是
最佳答案
从https://index.golang.org:
使用https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules中描述的GOPRIVATE
进行工作
总结一下:如果它是一个私有(private)模块,则代理服务会尝试访问它并将失败。我认为Go然后将回退以直接访问它,从而完全绕开了代理。为了防止这种往返,请将您的私有(private)存储库添加到GOPRIVATE中,如果您仍然对此感到担忧,请使用wireshark之类的方法来确保直接访问您的私有(private)模块。