我将我的 ssh 密钥放在 github 中,因此git clone适用于某个私有存储库;但go mod tidy在尝试访问同一存储库时失败,并显示如下错误消息。我可以使用帮助来解决这个问题。go mod tidy来自(编辑私有存储库的名称,但逐字记录)的错误消息是: github.com/[private repository path]: cannot find module providing package github.com/[private repository path]: module github.com/[private repository path]: git ls-remote -q origin in /mnt/dependencies/gopath/pkg/mod/cache/vcs/a1f499df6a9855aecdc77bda31504008583a3268fdd403799aade71bb47df7d2: exit status 128:fatal: 'origin' does not appear to be a git repositoryfatal: Could not read from remote repositoryPlease make sure you have the correct access rightsand the repository exists.成功的 git clone 命令(再次编辑私有存储库)是:git clone git@github.com:[private repository path].git我的.gitconfig文件是(删除了我的姓名和电子邮件):[user] name = [my name] email = [my email][url "github.com:"] insteadOf = https://github.com/[core] excludesfile = /workdir/.gitignore其他可能有所作为的事情:我在 Docker 容器中以 root 身份运行命令。我尝试使用与 Docker 容器go mod tidy相同的密钥在我的主机上运行~/.ssh,我得到了登录提示,github 不再支持(他们需要 SSH 密钥或个人访问令牌)。我的 gitconfig 中的电子邮件与我放在 github.com 上的公钥中给出的电子邮件匹配。第二个相关问题:我可以运行的事实是否git clone排除了错误上传到 github 的密钥,以及忘记为 github 上的密钥启用 SSO?这是一个类似的问题,但它涉及个人访问令牌而不是 ssh 密钥:`go mod tidy` fails to download private GitHub repository
2 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
我在 Docker 容器中以 root 身份运行命令。
然后确保它确实访问/root/.ssh
与您在常规帐户中使用的密钥相同的密钥(在 中)。
并检查 Git 全局配置设置是否实际包含您的insteadOf
指令。
~/.ssh
尝试使用与 Docker 容器相同的密钥在我的主机上运行 go mod tidy ,我得到了登录提示。
这意味着公钥未正确注册到 GitHub 用户配置文件,或者所述用户无权访问存储库。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
我找到了我的问题的答案,但它开启了我在问题中遗漏的一个事实。
直到第二天早上,我才意识到我的 Docker 映像中的 golang 版本高于用于填充的版本$GOPATH
(或者至少我没有意识到这有多么重要)。为了解决这个问题,我删除了下面的所有内容$GOPATH
并重新运行go mod tidy
没有问题。
VonC 的回答中的清单很有用,而且更切合问题的要点,所以我接受了。但我会为遇到这篇文章的任何人添加:
“golang 的版本是否与go mod tidy
populated 不同$GOPATH
?”
- 2 回答
- 0 关注
- 302 浏览
添加回答
举报
0/150
提交
取消