Próba zainstalowania rvm i ruby 1.9.2
Zainstalowałem już homebrew i git, ale nie mogłem uzyskać pełnych aktualizacji, ponieważ ciągle otrzymywałem błędy dotyczące uprawnień. Ponowna instalacja systemu Snow Leopard i naprawione uprawnienia.
Teraz to się dzieje ...
$ brew zainstaluj wget
Błąd: nie można pisać do / usr / local / Cellar
ruby
permissions
rvm
homebrew
Ibrahim
źródło
źródło
Odpowiedzi:
Będziesz musiał przyznać sobie prawo własności do
/usr/local/
używania tej linii właśnie tam. Musiałem to zrobić sam po użyciu rubinowej jednowierszowej strony u góry oficjalnej dokumentacji, aby zainstalować Homebrew. U mnie zadziałało jak urok. To powinien być jedyny raz, kiedy będziesz potrzebowaćsudo
Homebrew.Nie jestem pewien, czy robi to rubinowa jedna linijka. Jeśli tak, wtedy coś innego w moim systemie przejęło kontrolę
/usr/local
.Edycja : Całkowicie to przegapiłem, ale @samvermette nie (zobacz odpowiedzi na moją odpowiedź): jeśli uruchomisz to polecenie powyżej i masz coś zainstalowanego przez homebrew, co wymaga specjalnych uprawnień użytkownika, na przykład
mysql
, upewnij się, że przywróciłeś te uprawnienia (jak powyższe polecenie zapewnia rekurencyjną własność wszystkiego, co jest w/usr/local
tobie ($USER
). W przypadku mysql jest to…źródło
mysql
użytkownika. W moim przypadku uniemożliwiło to uruchomienie mysql. Napraw to za pomocą:sudo chown -RL mysql:mysql /usr/local/mysql/data
sudo chown -R $USER /usr/local/Cellar
ponieważ/usr/local/
już miałem odpowiednie uprawnieniaMiałem ten problem po uaktualnieniu do Mavericks, a ta strona była pierwszym wynikiem wyszukiwania podczas wyszukiwania w Google komunikatu o błędzie. Kontynuowałem wyszukiwanie i znalazłem tę odpowiedź na przepełnieniu stosu.com . Mówiąc zwięźle, jest to:
To rozwiązało problem, a ponieważ zmieniało tylko uprawnienia do określonej ścieżki, o której mowa w komunikacie o błędzie, wydawało się mało prawdopodobne, aby miało negatywne skutki uboczne w przypadku innych instalacji.
Umieszczam tę odpowiedź tutaj dla każdego, kto może znaleźć tę stronę jako pierwszą, tak jak ja. Jednak kredyt powinien trafić do jdi .
źródło
/usr/local/bin
).Możesz zezwolić tylko administratorom na pisanie do
/usr/local/
?Od tego momentu każdy użytkownik należący do grupy Admin będzie mógł instalować nowe zależności.
źródło
sudo chgrp -R admin /usr/local/DDDD
+sudo chmod -R g+w /usr/local/DDDD
gdzie DDDD to bin , share , Library / LinkedKegs , optNa High Sierra potrzebujesz następującego polecenia, ponieważ chown nie będzie działać:
Połączyć:
https://github.com/Homebrew/brew/issues/3228
źródło
odinstaluj i ponownie zainstaluj HomeBrew, który załatwi sprawę
źródło
Proponuję upewnić się, że aktualny użytkownik jest członkiem grupy, która jest właścicielem / usr / local. Domyślam się, że ta grupa jest
wheel
. Aby stać się członkiem tej grupy:Chociaż coś w rodzaju nieeleganckiego młotka, ma zamierzony skutek - umożliwia dostęp do przedmiotów,
/usr/local
które są przeznaczone tylko do użytku (odczytu / zapisu) przez członków z wyższym poziomem uprawnień . To podejście ma zalety drugiego z powyższych, ponieważ korzysta z członkostwa w grupach, umożliwiając wielu (autoryzowanym) użytkownikom systemu korzystanie z homebrew.źródło
Jak zainstalowałeś Homebrew? Ich oficjalne instrukcje instalacji obejmują uruchomienie skryptu ruby. To powinno załatwić kwestie związane z pozwoleniami.
Jeśli nie chcesz uruchamiać skryptu, na tej stronie znajduje się sekcja „Instalowanie w / usr / local dla programistów”, która wyjaśnia zmiany w uprawnieniach wymaganych dla katalogu / usr / local.
źródło
EDYCJA : Jak wspomniano w komentarzach, używanie sudo z homebrew jest złym pomysłem, więc nie używaj następującej odpowiedzi!
Możesz również zapobiec temu błędowi, jeśli wykonasz polecenie za pomocą sudo:
Ale uważaj na używanie,
sudo
ponieważ możesz popełnić wiele błędów.źródło