Как обновить Homebrew?

89

Когда я бежал:

brew update

Я получил сообщение о том, что он инициализировал пустой репозиторий /usr/local/.git/, затем я получил эту ошибку:

Снимок экрана

Andrewpthorp
источник
3
Если вы просто ищете быстрый способ исправить эту проблему как можно скорее, вы можете сделать следующую команду в вашей оболочке , а в корневой папке Homebrew директории (обычно / USR / местные /) с Git , установленной на вашей системе: git init; git fetch https://github.com/mxcl/homebrew.git master; git reset --hard FETCH_HEAD; brew update.
jmlane

Ответы:

63
  • cd /usr/local
  • git status
  • Отмените все изменения (если вы на самом деле не хотите попытаться зафиксировать Homebrew - вероятно, вы этого не сделаете)
  • git status пока он не станет чистым
  • brew update
Corysimmons
источник
9
Вместо того, чтобы отбрасывать изменения, может быть лучше внести git stashизменения. Затем после того, как вы закончите обновление, запустите, git stash popчтобы восстановить ваши пользовательские модификации
kevnk
1
Я сделал именно это, спрятал все изменения в / usr / local ... но запуск 'brew update' продолжает выдавать мне ошибки разрешений для некоторых файлов git. Я совершил ошибку, выполнив «sudo brew update», которое теперь, кажется, заблокировало мою установку, и каждая команда brew теперь выдает рубиновые ошибки
PandaWood
Я тоже обновил sudo brew и теперь получаю те рубиновые ошибки, как вы сказали ... что мне теперь делать? : '(
lawphotog
1
Вы можете попытаться исправить это, сделавsudo chown -R yourusername:admin /usr/local/.git
sschueller
4
К вашему сведению: это тоже может бытьcd /usr/local/Homebrew
Фаяз
7

В качестве альтернативы вы можете обновить brew, установив его снова. (Думаю, я сделал это, когда Эль-Капитан что-то изменил)

Примечание : это жесткий подход, который удалит все приложения, установленные через brew!

Попробуйте установить brew a fresh, и он подскажет, как удалить.

На момент написания для удаления:

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

Изменить: по состоянию на 2020 год для удаления:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
Питер О'Брайен
источник
9
будьте осторожны, этот скрипт удалит все приложения, которые вы установили черезbrew
nesimtunc
2
Повторная установка brew этим методом больше не приводит к удалению установленных приложений.
kas