如何修复私有存储库的“go-get”中的“无效版本”和“无法读取用户名”?

rxztt3cl  于 2022-10-23  发布在  Go
关注(0)|答案(3)|浏览(156)

我想在另一个GoLang项目中使用托管在GitHub的私有存储库。
我做了什么:
1.我在GitHub帐户设置中创建了一个私人访问令牌
1.当时:
git-config——全局url。“https://xxxxxx:ACCESS_TOKEN@github.com”。代替“https://github.com
使用“xxxxxx”作为我的真实GitHub用户名,然后使用正确的ACCESS_TOKEN。
1.go get github.com/private/repo
然而,我总是会遇到以下错误:

go: downloading github.com/xxxxxxxx/yyyyyyyyy-go-sdk v0.0.0-20200307154628-cbcb73911013
go get github.com/xxxxxxxx/yyyyyyyyy-go-sdk: github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: verifying module: github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: reading https://sum.golang.org/lookup/github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: 410 Gone
    server response:
    not found: github.com/xxxxxxxx/yyyyyyyyy-go-sdk@v0.0.0-20200307154628-cbcb73911013: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /tmp/gopath/pkg/mod/cache/vcs/5eca4f397ed3a418f58ee864965ed24936e21268780304d6941f5b3983d31ad1: exit status 128:
        fatal: could not read Username for 'https://github.com': terminal prompts disabled

我还尝试了以下方法:
GONOSUMDB=github。com/myusername去获取github.com/xxxxxx/yyy。。。
根据StackOverflow对类似问题的一些回答,我尝试在repo url之后添加“.git”。但这根本行不通。
这可能是什么,我该如何解决?
版本:

♠ git --version
git version 2.25.0
hub version 2.14.2

♠ go版本1.14

4ktjp1zp

4ktjp1zp1#

你几乎做得很好,只忘记了一个重要的步骤。
您需要告诉Go不要检查校验和,因为您正在自己的私有存储库上操作:

go env -w GOPRIVATE=github.com/mycompany/*

mycompany替换为github上的用户名或公司名称,go get很可能会按预期工作。

qgelzfjb

qgelzfjb2#

我有一个可能有帮助的解决方案。这个问题发生在1.13以上的Golang版本中。当我们在项目中使用私有模块时,就会发生这种情况。由于Go-Get命令运行,golang将执行代理校验和。因此,另一种选择是您需要在您的环境中添加GOPRIVATE环境。

export GOPRIVATE="github.com/private/repo"

或者如果它不起作用,请尝试使用GONOPROXY环境添加。

export GONOPROXY="github.com/private/repo"
2nbm6dog

2nbm6dog3#

这可能有助于其他人,但我在一个公共回购协议上遇到了这个错误。我跑了10英里,之后还能拉。不确定问题是什么,但可能是本地缓存中的sha提交冲突。

相关问题