4

在执行时 go get bitbucket.org/../..

我收到这个错误

yash.jain projectname % go get bitbucket.org/../..
go: bitbucket.org/../..
https://api.bitbucket.org/2.0/repositories/../..?fields=scm: 403 Forbidden
go: error loading module requirements

我试过的

  • 设置 ssh 密钥(按预期工作,通过推拉代码进行测试)

  • 将 go env 变量设置为:

     GOPRIVATE=""
     GOPROXY="direct"
     GOSUMDB="off"
    
  • .gitconfig 看起来像这样

     [url "git@bitbucket.org:"]
         insteadOf = https://bitbucket.org/
     [user]
         email = yash.jain@company.in
         name = yashjain
    
  • 向 ssh-agent 添加了密钥

     ssh-add -l
     ssh-add -k
    
  • .ssh/config 文件看起来像这样

     Host bitbucket.org
       HostName bitbucket.org
       User git
       IdentityFile ~/.ssh/id_rsa
       UseKeychain yes
       StrictHostKeyChecking no
    

不过,我得到了同样的错误。如果我做错了什么,请告诉我。

4

4 回答 4

6

这些是我试图使其工作的步骤。

  1. 设置 SSH 密钥并连接到 bitbucket。我通过 bitbucket 使用 sourcetree gui 来连接使用ssh.
  2. 设置GOPRIVATE=bitbucket.org/<orgname>/*

*是允许组织的所有回购。

在这两个步骤之后,我可以导入包。

注意:Sourcetree 仅适用于 Mac 和 Windows。

使用命令行:对于 Linux/Mac/Windows:

  1. git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"
  2. 设置GOPRIVATE=bitbucket.org/<orgname>/*
于 2021-05-31T09:15:26.920 回答
2

首先检查ssh -Tv git@bitbucket.org返回的内容,特别是欢迎消息中提到的用户:它可能是一个帐户,它无权访问私有存储库。

“获取”私有存储库的正确方法是什么? ”中所述,也尝试使用不受密码保护的私有 ssh 密钥以确保在go get过程中间没有提示输入所述密码。

于 2021-05-29T06:02:26.577 回答
2

我通常有两种方法来解决这个问题。但是,为此您需要使用 SSH 配置 bitbucket。

1. 编辑 git.config

编辑全局.gitconfig

nano /home/user/.gitconfig

添加以下行

[url "git@bitbucket.org:"] insteadOf = https://bitbucket.org/

2. 导出 GOPRIVATE

export GOPRIVATE=bitbucket.org/<your repo>
于 2021-05-31T04:21:09.360 回答
2

你也可以通过 Sourcetree 来完成。请按照以下步骤操作:

  1. 下载并安装 Sourcetree
  2. 在 Sourcetree 内部连接中配置您的 bitbucket ssh 密钥
  3. 您将能够在帐户部分看到您的帐户。像下面的东西

添加了源树帐户

  1. 下一步是添加您的GOPRIVATE环境变量
  2. 为此运行此命令

go env -w GOPRIVATE="bitbucket.org/<repo>/*"

于 2021-05-31T09:23:16.447 回答