Jak zaktualizować Homebrew?

89

Kiedy biegałem:

brew update

Otrzymałem komunikat z informacją, że zainicjował puste repozytorium w /usr/local/.git/, a następnie otrzymałem ten błąd:

Zrzut ekranu

andrewpthorp
źródło
3
Jeśli tylko szukasz szybkiego sposobu, aby rozwiązać ten problem jak najszybciej, można wykonać następujące polecenie w powłoce podczas gdy w głównym katalogu Homebrew (zwykle / usr / local /) z Git zainstalowanego w systemie: git init; git fetch https://github.com/mxcl/homebrew.git master; git reset --hard FETCH_HEAD; brew update.
jmlane

Odpowiedzi:

63
  • cd /usr/local
  • git status
  • Odrzuć wszystkie zmiany (chyba że faktycznie chcesz spróbować zastosować Homebrew - prawdopodobnie nie chcesz)
  • git status dopóki nie będzie czyste
  • brew update
corysimmons
źródło
9
Zamiast odrzucać zmiany, może lepiej git stashwprowadzić zmiany. Następnie po zakończeniu aktualizacji uruchom, git stash popaby przywrócić własne modyfikacje
kevnk,
1
Zrobiłem dokładnie to, ukryłem wszystkie zmiany w / usr / local ... ale uruchomienie „brew update” nadal daje mi błędy uprawnień do niektórych plików git. Popełniłem błąd, robiąc
``
zrobiłem też aktualizację sudo brew, a teraz pojawiają się błędy ruby, jak powiedziałeś ... co mam teraz zrobić? : '(
lawphotog
1
Możesz spróbować to naprawić, robiącsudo chown -R yourusername:admin /usr/local/.git
sschueller
4
FYI: może to być równieżcd /usr/local/Homebrew
Fayaz
7

Alternatywnie możesz zaktualizować brew, instalując go ponownie. (Myślę, że zrobiłem to, ponieważ El Capitan coś zmienił)

Uwaga : jest to ciężkie podejście, które usunie wszystkie aplikacje zainstalowane za pośrednictwem naparu!

Spróbuj zainstalować napar świeży, a powie, jak odinstalować.

W pierwotnym momencie pisania, aby odinstalować:

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

Edycja: od 2020 do odinstalowania:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
Peter O'Brien
źródło
9
uważaj, ten skrypt usunie wszystkie aplikacje, które zainstalowałeś za pośrednictwembrew
nesimtunc
2
Wydaje się, że ponowna instalacja brew za pomocą tej metody nie powoduje już usuwania zainstalowanych aplikacji.
kas