我將我的 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 [email protected]:[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 關注
- 350 瀏覽
添加回答
舉報
0/150
提交
取消