$ go get在谷歌尝试之后,我正在寻找使用私有存储库的方法.
第一次尝试:
$ go get -v gitlab.com/secmask/awserver-go
Fetching https://gitlab.com/secmask/awserver-go?go-get=1
https fetch failed.
Fetching http://gitlab.com/secmask/awserver-go?go-get=1
Parsing meta tags from http://gitlab.com/secmask/awserver-go?go-get=1 (status code 200)
import "gitlab.com/secmask/awserver-go": parse http://gitlab.com/secmask/awserver-go?go-get=1: no go-import meta tags
package gitlab.com/secmask/awserver-go: unrecognized import path "gitlab.com/secmask/awserver-go
Run Code Online (Sandbox Code Playgroud)
是的,它没有看到meta标签,因为我不知道如何提供登录信息.
第二次尝试:
关注https://gist.github.com/shurcooL/6927554.将配置添加到.gitconfig.
[url "ssh://git@gitlab.com/"]
insteadOf = https://gitlab.com/
$ go get -v gitlab.com/secmask/awserver-go --> not work
$ go get -v gitlab.com/secmask/awserver-go.git --> work but I got src/gitlab.com/secmask/awserer-go.git
Run Code Online (Sandbox Code Playgroud)
是的它可以工作,但.git扩展了我的项目名称,我可以将它重命名为原始,但每次$ go get都不是那么好,是否还有其他的?
我在个人VPS上托管我的git存储库,我有一个我想要"go get"的软件包.我试图通过发出"go help importpath"找到帮助文档,但没有运气.无论我做什么,我都会收到以下错误:
package example.com/user/package: unrecognized import path "example.com/user/package"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所提到的META标签的每个组合以及相同的结果.
<meta name="go-import" content="example.com git http://example.com/user/package">
Run Code Online (Sandbox Code Playgroud)
可以通过http://example.com/user/package.git访问实际的git存储库.我可以直接克隆它,但我想去下载并正确安装它.
根据帮助文档,如果go向http://example.com/user/package?go-get=1发出请求,则返回的页面包含META标记.如果go然后向http://example.com/?go-get=1发出后续请求,则返回的页面也包含完全相同的META标记.
是否需要在服务器上进行任何特殊配置?我不这么认为,因为go会通过http请求访问存储库.
我的智慧结束了.我们将非常感谢您提供的任何帮助.
我们使用私有 Bitbucket 存储库来管理我们的 Go 库。通过使用例如在这个Stackoverflow answer 中描述的insteadOf配置,我们有一个工作构建到 Go 版本 1.12。1.13 和 1.14 版本不再起作用。我们看到这样的错误:git
$ go vet ./...
go: downloading bitbucket.org/travelloapp/golibs v1.0.42
usercache/usercache.go:6:2: bitbucket.org/travelloapp/golibs@v1.0.42: verifying module: bitbucket.org/travelloapp/golibs@v1.0.42: reading https://sum.golang.org/lookup/bitbucket.org/travelloapp/golibs@v1.0.42: 410 Gone
server response:
not found: bitbucket.org/travelloapp/golibs@v1.0.42: reading https://api.bitbucket.org/2.0/repositories/travelloapp/golibs?fields=scm: 403 Forbidden
server response: Access denied. You must have write or admin access.
Run Code Online (Sandbox Code Playgroud)
在转到FAQ建议设立curl的~/.netrc文件。我已经做到了,使用 Bitbucket 的“应用密码”功能。它不会改变结果。我已经添加了bitbucket.org和api.bitbucket.org作为主机名。
我可以curl直接测试文件设置是否正确:
$ curl -n https://api.bitbucket.org/2.0/repositories/travelloapp/golibs?fields=scm
{"scm": "git"}
Run Code Online (Sandbox Code Playgroud)
记录:尽管有 Bitbucket 错误消息。存储库读取访问似乎是唯一需要的权限,尽管我也尝试过启用所有权限。 …