brew tap facebook/fb 导致获取错误

Rap*_*tor 9 macos homebrew buck

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

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

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

我按照Buck官网的安装说明进一步排查了问题,再次发出命令:

% 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.
Run Code Online (Sandbox Code Playgroud)

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

% brew untap facebook/fb
Error: Refusing to untap facebook/fb because it contains the following installed formulae or casks:
buck
Run Code Online (Sandbox Code Playgroud)

没有运气。我该如何解决这个问题?

fri*_*mle 27

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

要解决此问题,首先更改为 Homebrew 的本地 Tap 文件夹:

cd /usr/local/Homebrew/Library/Taps/facebook/homebrew-fb
Run Code Online (Sandbox Code Playgroud)

然后,运行以下 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
Run Code Online (Sandbox Code Playgroud)

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

rm .git/refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

就是这样,您现在应该能够成功运行brew update.