Błąd łącza symbolicznego Homebrew

82

Próbuję zainstalować memcached przy użyciu:

brew install memcached

Kończy się to błędem informującym, że homebrew nie jest w stanie utworzyć łącza symbolicznego:

The linking step did not complete successfully
The formula built, but is not symlinked into /usr/local

Wsparcie!

septerr
źródło

Odpowiedzi:

119

Odinstalowałem to, co homebrew do tej pory zainstalował (zależność od libevent):

brew uninstall libevent

Następnie przejrzałem katalog usr / local:

sudo chown -R $(whoami) /usr/local

Następnie ponownie spróbowałem zainstalować memcached i zadziałało:

brew install memcached
septerr
źródło
1
Uratował mnie od mojego koszmaru! DZIĘKI!
0bserver07
3
Pomogło mi to również w przypadku „irssi”. DZIĘKI!!
FastSolutions
1
nadal działa! Zwróć uwagę, że septerr musi zmienić swoją nazwę użytkownika
2016
20
Twoje polecenie chown nie jest już obsługiwane w High Sierra. Użyj sudo chown -R $(whoami) $(brew --prefix)/*zamiast tego
PetrykowskiM
1
chown: / usr / local: Operacja niedozwolona
Slowaways
89

Począwszy od High Sierra, / usr / local nie jest już możliwy do zrzucenia. Nowa procedura sugerowana w numerze Homebrew to:

sudo chown -R $(whoami) $(brew --prefix)/*

FYI: Jeśli brakuje wymaganych podfolderów / usr / local (np ./include lub ./Frameworks), musisz najpierw je mkdir

Sean DeNigris
źródło
2
Dostajęchown: /usr/local: Operation not permitted
felixfbecker
1
Wypróbowałem to w MacOS Mojave 10.14.6 i zadziałało
osazemeu
Używanie chmod do dodawania uprawnień jest lepszym rozwiązaniem niż zmiana właściciela - zwłaszcza jeśli masz więcej niż jedno konto użytkownika na komputerze Mac.
Jacob Rose
22

Dziękuję za zaktualizowanie własnego pytania, które bardzo mi pomogło. Rozwiązałem ten problem, /usr/localustawiając wszystkie lokalizacje w grupie do zapisu, ponieważ jestem już w grupie administratorów.

Aby to zrobić, użyj następującego polecenia

sudo chmod -R g+w /usr/local
iain
źródło
2
a potem oczywiście robię brew link memcached po tym kroku.
Enrico Susatyo
7

po wykonaniu sugestii w odpowiedzi @septerr nadal nie mogłem zainstalować carthage przez homebrew ... po pewnym googleingu znalazłem to: Gist https://gist.github.com/dalegaspi/7d336944041f31466c0f9c7a17f7d601

W każdym razie ... mam to:

Error: An unexpected error occurred during the 'brew link' step The formula built, but is not symlinked into /usr/local Permission denied @ dir_s_mkdir - /usr/local/Frameworks Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks

zrobił to:

sudo chown -R $(whoami) $(brew --prefix)/*

i

sudo install -d -o $(whoami) -g admin /usr/local/Frameworks

po tym był w stanie pomyślnie zainstalować Kartaginę

Darkglow
źródło
3

Wygląda na to, że od czasu El Capitan uprawnienia do plików w / usr / local zostały zmienione, powodując powyższy problem.

Zamiast wybranego rozwiązania proponuję zrobić:

sudo chown -R :staff /usr/local

To zadziała dla wszystkich użytkowników

Panie Morris
źródło