git - 如何将 Go 与 Bitbucket 私有(private)存储库一起使用?

标签 git go bitbucket go-modules

我们正在使用私有(private) Bitbucket 存储库来管理我们的 Go 库。通过使用 insteadOf git 的配置如所述,例如在这个Stackoverflow answer ,我们有一个工作构建到 Go 版本 1.12。版本 1.13 和 1.14 不再工作。我们看到这样的错误:

$ 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.
Go FAQ proposes设置curl~/.netrc文件。我已经做到了,使用 Bitbucket 的“应用程序密码”功能。它不会改变结果。我都添加了bitbucket.orgapi.bitbucket.org作为主机名。
我可以使用 curl 测试文件设置是否正确直接地:
$ curl -n https://api.bitbucket.org/2.0/repositories/travelloapp/golibs?fields=scm
{"scm": "git"}
记录在案:尽管有 Bitbucket 错误消息。存储库读取权限似乎是唯一需要的权限,尽管我也尝试过启用所有权限。
我错过了什么吗?为什么适用于 Go 1.12 的方法不再适用于更高版本?
我目前正在使用:
$ go version
go version go1.14.2 linux/amd64
$ git version
git version 2.17.1
$ curl --version
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
我们在 Go 1.13 发布时首先遇到了这个问题,目前我们仍然将所有环境都保留在 1.12 上。

最佳答案

由于 go@1.13 要具有与以前版本类似的行为,您需要设置 GOPRIVATE私有(private)存储库的环境变量

关于git - 如何将 Go 与 Bitbucket 私有(private)存储库一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470626/

相关文章:

docker - 为 golang 的 dockerfile 查找路径时出错

Windows 中的 Git 克隆比在 Linux 中慢得多

同一存储库中的 BitBucket 文件和文件夹级别权限

git - 我如何允许第二台/第三台/等等计算机使用 ssh 和 gitosis 连接到我的 git 服务器?

bash - Git diff - 忽略重新排序

struct - 去深/浅复制

templates - 如何将一片结构传递给模板并在 Golang 中迭代它们?

c# - 如何使用访问 token 进行 Bitbucket API 调用?

git - 如何编辑以前的 git 提交?

php - 从 php 脚本运行 git pull