我想在另一个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
3条答案
按热度按时间4ktjp1zp1#
你几乎做得很好,只忘记了一个重要的步骤。
您需要告诉Go不要检查校验和,因为您正在自己的私有存储库上操作:
将
mycompany
替换为github上的用户名或公司名称,go get
很可能会按预期工作。qgelzfjb2#
我有一个可能有帮助的解决方案。这个问题发生在1.13以上的Golang版本中。当我们在项目中使用私有模块时,就会发生这种情况。由于Go-Get命令运行,golang将执行代理校验和。因此,另一种选择是您需要在您的环境中添加
GOPRIVATE
环境。或者如果它不起作用,请尝试使用
GONOPROXY
环境添加。2nbm6dog3#
这可能有助于其他人,但我在一个公共回购协议上遇到了这个错误。我跑了10英里,之后还能拉。不确定问题是什么,但可能是本地缓存中的sha提交冲突。