我在计算机 A 上开发了一个 repo,并创建了一个我签入的 go.mod/go.sum。
我在计算机 B 上使用 go.mod/go.sum 文件提取该 repo,但是当我尝试构建程序时,无法满足模块约束。
$ go build
go: finding github.ibm.com/kms/key-protect-client v0.1.5
go: finding golang.org/x/tools v0.0.0-20180221164845-07fd8470d635
go: github.ibm.com/kms/key-protect-client@v0.1.5: unknown revision v0.1.5
go: error loading module requirements
失败的回购是私人回购,由于某种原因,它没有下载到模块缓存。在另一台计算机上,下载依赖项并构建成功。我正在同一个域中构建另一个私有存储库,因此我知道我的 github 凭据可以让我访问这些存储库。但由于某种原因,go 模块系统无法访问依赖的 repo。
我找不到更多信息如何调试它。
原文由 Ravenwater 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题与 cmd/go 不了解 git 身份有关,并假设 .gitconfig 文件中只有一个。
解决方法:当您需要使用该 git 身份并处理更新模块文件的 cmd/go 工具时,准备好一组 git 身份来替换全局 .gitconfig。