Homebrew fatal:需要一次修改 (MacOs Sierra)

Homebrew fatal: needed a single revision (MacOs Sierra)

不确定这个问题是否与升级到 MacOs Sierra 有关,但是从那一刻起,当我 运行 'brew update'

→ brew update
Checking out v1.0.0 in /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask...
To checkout master in /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask run:
  'cd /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask && git checkout master
fatal: Cannot update paths and switch to branch 'v1.0.0' at the same time.
Did you intend to checkout 'refs/tags/1.0.0' which can not be resolved as commit?
fatal: Needed a single revision
invalid upstream refs/tags/1.0.0
Checking out v1.0.0 in /usr/local/Homebrew/Library/Taps/dart-lang/homebrew-dart...
To checkout master in /usr/local/Homebrew/Library/Taps/dart-lang/homebrew-dart run:
  'cd /usr/local/Homebrew/Library/Taps/dart-lang/homebrew-dart && git checkout master
fatal: Cannot update paths and switch to branch 'v1.0.0' at the same time.
Did you intend to checkout 'refs/tags/1.0.0' which can not be resolved as commit?
fatal: Needed a single revision
invalid upstream refs/tags/1.0.0
Checking out v1.0.0 in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core...
To checkout master in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core run:
  'cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core && git checkout master
fatal: Cannot update paths and switch to branch 'v1.0.0' at the same time.
Did you intend to checkout 'refs/tags/1.0.0' which can not be resolved as commit?
fatal: Needed a single revision
invalid upstream refs/tags/1.0.0

我试过了运行宁

cd $(brew --prefix) && git fetch && git reset --hard origin/master

但它给了我这个错误:

fatal: Not a git repository (or any of the parent directories): .git

升级到 Sierra 后我遇到了同样的问题。

除了显示 Homebrew 安装路径的 brew --prefix 之外,还有显示 .git 目录所在位置的 brew --repository

man brew 声称“对于标准安装,前缀和存储库是同一目录”。手册页已过时或我的安装不是“标准”,但我的 prefix/usr/local 而我的 repository/usr/local/Homebrew.

使用相同的命令但 cd $(brew --repository) 对我有用:

cd $(brew --repository) && git fetch && git reset --hard origin/master

已接受的答案对我不起作用。有效的方法是卸载 homebrew 并重新安装它:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew analytics off

对我来说没什么用,我不得不求助于卸载并重新安装 Brew:

# change to home directory to avoid other errors later
cd ~

# uninstall brew
rm -rf /usr/local/Cellar /usr/local/.git && cd ~ && brew cleanup

 # reinstall brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

卸载


/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

并重新安装。

此命令为我修复了错误:

git -C $(brew --repository homebrew/core) checkout master