去模组 : not able to retrieve submodules for private repo

标签 go go-get

我有 3 个 Go 项目。项目 A 依赖于项目 B 的子模块和项目 C 的模块 例如:

gitlab.com/myorg/myGroup/projectB/contract
gitlab.com/myorg/myGroup/projectC

当 go mod 尝试下载模块时,模块 C 正确下载,但模块 B 失败:

get "gitlab.com/myorg/myGroup/projectB/contract": verifying non-authoritative meta tag
go: gitlab.com/myorg/myGroup/projectB/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="debdb1b0aaacbfbdaa9ea8eef0eff0ee" rel="noreferrer noopener nofollow">[email protected]</a>: reading gitlab.com/myorg/myGroup/projectB/contract/projectB/contract/go.mod at revision projectB/contract/v0.1.0: unknown revision projectB/contract/v0.1.0

我们看到 go 正在尝试读取:

gitlab.com/myorg/myGroup/projectB/contract/**projectB/contract**/go.mod

而不是

gitlab.com/myorg/myGroup/projectB/contract/go.mod 

我已在存储库中创建了标签 v0.1.0 和contract/v0.1.0。

知道为什么 go 无法下载模块吗?

Ps:我已经设置了 GOPRIVATE="gitlab.com/myorg"

最佳答案

最近在 go 1.13 中遇到了这个问题,对我们有用的是

  • GO111MODULE=on
  • GOSUMDB=off
  • 设置GOPRIVATE
  • 最后,使用 github 的个人访问 token git config --global url."https://${TOKEN}@github.com".insteadOf "https://github.com"

关于去模组 : not able to retrieve submodules for private repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63481981/

相关文章:

go - 使用go例程初始化多个服务

go - go get命令做缓存吗?

go - 如何区分哪些依赖项是可下载的?

bash - 在 Go 中执行带有参数的命令?

facebook - 如何让 martini-oauth2 与 Facebook 一起工作?

c - 如何将复杂的C结构从Go传输到C

go - 如何在本地运行 pkg.go.dev 作为 godoc 替代品?

go - git credential.helper而不是.netrc以获取依赖关系

go - 编写深度为 d 的嵌套迭代器