Właśnie uaktualniłem MacBooka Air do Mavericks. Wydaje się, że proces usunął prawie wszystkie homebrew
wstawione dowiązania symboliczne /usr/local/bin
. Gdy zauważam, że czegoś brakuje, łączę je ponownie brew unlink <keg> && brew link <keg>
(mimo że dowiązań symbolicznych już nie ma, homebrew
nadal myślę, że tam są, więc unlink
najpierw muszę to zrobić ). To wydaje się nieco nieefektywne.
Mógłbym po prostu przejrzeć wszystko, /usr/local/Cellar
ale nie każda beczka jest automatycznie połączona i nie chcę ich łączyć. Więc moim następnym przypuszczeniem jest wyświetlenie listy wszystkich połączonych beczek i ponowne ich połączenie (używając powyższego).
Czy istnieje jakaś magiczna komenda, która będzie znaleźć wszystkie beczki, która homebrew
myśli, są połączone tak, że można je ponownie połączyć?
Odpowiedzi:
/usr/local/Library/LinkedKegs
wydaje się zawierać listę dobrze połączonych beczek, więc powinno to załatwić sprawę:/usr/local/lib
Przed skorzystaniem z tej opcji zalecamy ponowne sprawdzenie uprawnień do zapisu .źródło
--force
!brew link
powinno być wystarczające, a niektóre beczki naprawdę nie powinny być połączone (ponieważ mogą powodować konflikt z bibliotekami systemowymi), podczas gdy--force
wymuszą ich połączenie./usr/local/Library
.To polecenie bash (pobrane stamtąd ) rozłączy wszystkie zainstalowane formuły, a następnie ponownie je połączy:
Myślę, że wszystkie formuły muszą być połączone, w przeciwnym razie, którekolwiek narzędzie zależy od nich, nie będzie w stanie ich znaleźć.
źródło
brew list -1 | xargs -I formula sh -c "brew unlink formula && brew link formula"
Oprócz innych odpowiedzi na to pytanie może być również konieczne ponowne połączenie formuły z zainstalowanymi wieloma wersjami (
brew link
nie zrobisz tego za Ciebie).Najpierw ponownie połącz wszystkie formuły, które możesz:
Następnie uruchom
brew doctor
, który powinien narzekać i dać ci dwie listy:Dla każdej formuły z wieloma wersjami uruchom następujące polecenie, zastępując „python” nazwą formuły:
To pokaże między innymi wszystkie zainstalowane wersje. Wybierz wersję, którą chcesz połączyć (dla mnie to 2.7.6) i użyj
brew switch
Będziesz także chciał uruchomić
brew unlink
na liście (jeśli istnieje) połączonych formuł zawierających tylko beczkę.źródło