去建立找不到修订

时间:2019-04-03 19:46:06

标签: go github module

我在计算机A上开发了一个存储库,并创建了一个我签入的go.mod / go.sum。

我使用计算机B上的go.mod / go.sum文件提取该存储库,但是当我尝试构建程序时,无法满足模块约束条件。

$ 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模块系统无法到达相关的仓库。

我找不到更多信息来调试它。

6 个答案:

答案 0 :(得分:14)

如果使用私有存储库,则可能会出现golang未知版本的解决方案:

  1. git config --global url."ssh://git@yourserver".insteadOf "https://yourserver"

  2. 检查您的git存储库权限

答案 1 :(得分:1)

我遇到了同样的问题,请访问 the link

确保你已经设置了 GO111MODULES

go env -w GO111MODULE=on

确保您的 git 配置适用于私有仓库

git config --global url."ssh://git@github.com:acme-corporation".insteadOf "https://github.com/acme-corporation"

如果使用 2FA,请确保创建个人访问令牌

git config --global url."https://:x-oauth-basic@github.com:acme-corporation".insteadOf "https://github.com/acme-corporation"

在我的情况下设置后:

  • ~/.gitconfig
  • ~/.bashrc

我必须对 ~/.netrc 文件做同样的事情:

machine gitlab.url.com
    login <gitlab username>
    password <GITLAB_TOKEN>

答案 2 :(得分:0)

问题与cmd / go不了解git身份有关,并且假设.gitconfig文件中仅阐明了一个相关性。

解决方法:当您需要使用一组git身份来替换全局.gitconfig时,准备使用该git身份,并且正在使用可更新模块文件的cmd / go工具。

答案 3 :(得分:0)

以防万一

  

“错误”:“未知版本...”

  

“错误”:“版本无效...”

确保您未指定 PR的哈希(拉请求)。甚至合并的PR也可能是错误的。

在github存储库中查找提交哈希 在AttributeError下,但不在/commits下。

在此处查看更多信息:golang/go#31191明确过滤掉此类提交。

答案 4 :(得分:0)

与上面的一些评论一致-我遇到了这个问题,因为由于更新到Mojave而使我的git炸掉了……这里的高度评价(xcode-select --install)使我越过了此错误消息{{3} }

如果遇到此问题,请确保您的go status等正在按预期运行。

答案 5 :(得分:0)

以防万一,您是否在计算机B上将"github.ibm.com/kms"添加到了环境变量GOPRIVATE中?正是由于这个原因,我发生了这个错误。