fastlane - 克隆证书存储库时出错

Posted

技术标签:

【中文标题】fastlane - 克隆证书存储库时出错【英文标题】:fastlane - Error cloning certificates repo 【发布时间】:2018-02-15 17:05:21 【问题描述】:

我在使用 fastlane 和从 BitBucket 克隆 git repo 时遇到一些问题。我收到以下错误:

fatal: could not read Username for 'https://bitbucket.org': terminal prompts disabled
[17:21:34]: Exit status: 128
[17:21:34]: Error cloning certificates repo, please make sure you have read access to the repository you want to use
[17:21:34]: Run the following command manually to make sure you're properly authenticated:

我可以手动 git clone 没有问题的 repo,但是当我使用 fastlane 运行它时,我遇到了问题。

【问题讨论】:

【参考方案1】:

这个错误意味着 git 在禁用终端提示的情况下运行时找不到 repo 的用户名。您应该能够通过尝试自己克隆 repo 来重现这一点:

$ GIT_TERMINAL_PROMPT=0 git clone https://bitbucket.org/org_name/repo_name

git 要求您手动输入用户名,因为它没有存储凭据。

由于您使用的是 fastlane,我将假设最可能的原因:您使用的是 macOS,但尚未配置 git-credential-osxkeychain 工具,该工具提供从钥匙串到 git 命令行的凭据工具。

    运行

    $ git credential-osxkeychain
    

    验证工具是否已安装。

    如果失败,请安装 Xcode 命令行工具,或运行 brew install git 进行安装。

    运行

    $ git config --global credential.helper osxkeychain
    

    配置工具。

    照常克隆您的 repo (git clone …) 并登录

现在您的 BitBucket 凭据应该存储在您的钥匙串中,GIT_TERMINAL_PROMPT=0 git clone 和 fastlane 匹配都应该成功。

如果您不在 macOS 上,则需要为您的操作系统安装和配置类似的credential.helper

【讨论】:

如果您有多个用户并且 gitconfig 无法重定向本地用户而不是全局用户怎么办? 即使您有多个用户,您仍应使用--global。全局表示该用户的所有回购; local 表示仅此 repo。【参考方案2】:

我有同样的问题,我添加了 githubkey 路径

match(git_private_key:"/Users/ajeetsharma/Desktop/Study/Fastlane/FastLaneDemo2/fastlane/gitHubKey")

已经解决了

【讨论】:

以上是关于fastlane - 克隆证书存储库时出错的主要内容,如果未能解决你的问题,请参考以下文章

在我的大型机 USS 文件夹上克隆 Git 存储库时出错

将公共证书导入密钥库时出错

克隆存储库时与谷歌应用引擎一起使用啥凭据?

Fastlane - 将证书推送到回购

证书吊销后,我应该如何处理 fastlane match?

CVS2GIT-转换:运行git fast-import时出错“mark ... not declared”