问题描述
我有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/[email protected]: 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。
有什么想法为什么不能下载模块?
Ps:我已经设置了GOPRIVATE =“ gitlab.com/myorg”
解决方法
最近在go 1.13中进入了这个范围,对我们有用的是
-
GO111MODULE=on
-
GOSUMDB=off
- 设置
GOPRIVATE
- 最后,在github
git config --global url."https://${TOKEN}@github.com".insteadOf "https://github.com"
上使用个人访问令牌