我有 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/