【问题标题】:brew tap facebook/fb results in Fetching errorbrew tap facebook/fb 导致获取错误
【发布时间】:2021-08-26 01:40:04
【问题描述】:

我尝试像往常一样更新 Homebrew。最近发出命令brew update,出现如下错误:

错误:获取 /usr/local/Homebrew/Library/Taps/facebook/homebrew-fb 失败!

Tap 与我开发所需的软件Buck 相关联。

我按照巴克官网installation instruction进一步排查问题,再次发出命令:

% brew tap facebook/fb
==> Unshallowing facebook/fb
fatal: couldn't find remote ref refs/heads/master
Error: Failure while executing; `git fetch --unshallow` exited with 128.

显然,Git 源代码有问题。我尝试“解锁”它:

% brew untap facebook/fb
Error: Refusing to untap facebook/fb because it contains the following installed formulae or casks:
buck

运气不好。我该如何解决这个问题?

【问题讨论】:

标签: macos homebrew buck


【解决方案1】:

此错误是 Facebook 将分支 master 重命名为 main 的结果。

要解决这个问题,首先进入 Homebrew 的本地 tap 文件夹:

cd /usr/local/Homebrew/Library/Taps/facebook/homebrew-fb

然后,运行以下 Git 命令来更新本地仓库:

git branch --unset-upstream
git config remote.origin.fetch '+refs/heads/main:refs/remotes/origin/main'
git fetch --prune origin
git branch -m main
git branch -u origin/main
git remote set-head origin -a

最后,删除不再需要的master ref(可选):

rm .git/refs/remotes/origin/master

就是这样,你现在应该可以成功运行brew update了。

【讨论】:

  • 真的很有帮助,谢谢
猜你喜欢
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 2023-01-22
  • 2016-01-29
  • 1970-01-01
相关资源
最近更新 更多