'go mod tidy'无法下载私有GitHub存储库

dphi5xsq  于 2023-02-02  发布在  Git
关注(0)|答案(2)|浏览(405)

以下是回复

not found: github.com/me/private-repo@v0.0.0-20220413034319-81fe8421f99f: invalid version: git ls-remote -q origin in /tmp/gopath/pkg/mod/cache/vcs/ea2baff0eaed39430ee011ad9a011101f13b668d5fcbd9dffdfa1e0a45422b40: exit status 128:
    fatal: could not read Username for 'https://github.com': terminal prompts disabled
Confirm the import path was entered correctly.
If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.

我尝试在~/.netrc中添加一条记录,其中包含新创建的GitHub Personal访问令牌的密码,并在~/.gitconfig中添加配置

[url "ssh://git@github.com/"]
    insteadOf = https://github.com/

所有这些都不起作用。
如果我禁用了GOSUMDB=off go mod tidy的求和检查,那么它就可以工作,但我认为这对我来说是不正确的。

7vux5j2d

7vux5j2d1#

正如你的错误所说
无法读取用户名
因此,您应该更改~/.gitconfig
更改此内容:

[url "ssh://git@github.com/"]
    insteadOf = https://github.com/

改为:

[url "https://{{username}}:{{access_toke}}@github.com"]
    insteadOf = https://github.com

另外,您还需要~/.netrc文件,其内容如下:

machine github.com login {{username}} password {{access_token}}

**P.S:**您应该知道您的私有存储库应该位于GOPRIVATE=__YOUR_DOMAIN__

1l5u6lss

1l5u6lss2#

我建议:

[url "https://YourUsername@github.com/"]
    insteadOf = https://github.com/

这样,任何HTTPS URL都将使用您的用户名。
使用Git Credential Manager(跨平台),您可以将PAT (Personal Access Token)缓存在安全加密的本地保险库中。

相关问题