Po zainstalowaniu Yosemite nie mogłem uruchomić brew ani ruby.
Otrzymałem ten błąd podczas aktualizacji zaparzania:
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0
otrzymywanie tego błędu na irb:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:infu_mkdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:inreverse_each'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:ineach'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in mkdir_p' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:210:inwrite_gem_make_out'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:132:in build_error' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:171:inrescue in build_extension'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:156:in build_extension' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:inblock in build_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in each' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:inuse_ui'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:inblock in find_inactive_by_path'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:infind'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:intry_activate'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:150:in block in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:158:inblock in each_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:167:in each_sublocale' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:157:ineach_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:145:in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:124:infind'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:108:in load' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:32:ininitialize'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:in new' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:ininit_config'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:16:in setup' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb.rb:380:instart'
from /usr/bin/irb:12:in `'
Please, commit your changes or stash them before you can merge.
błąd przy próbiebrew update
niestety.#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
Homebrew requires Leopard or higher
- postępowałem zgodnie z odpowiedzią poniżej zainstaluj narzędzia wiersza poleceń xcode i teraz działa: stackoverflow.com/a/24225960/1062936Zaktualizowałem do Yosemite, a później okazało się, że
brew
jest uszkodzony.Jeśli nie wprowadziłeś jeszcze żadnych zmian w naparzaniu, oto co polecam. W przeciwnym razie przeczytaj dalej poniżej.
cd /System/Library/Frameworks/Ruby.framework/Versions/
sudo ln -s Current 1.8
brew update
sudo unlink 1.8
Dokonałeś już zmian w plikach warzenia i utknąłeś w bałaganie?
Próbowałem edytować,
/usr/local/Library/brew.rb
ale lokalna zmiana w moim repozytorium git uniemożliwiałabrew update
pobieranie aktualizacji. Wypróbowałem kilka innych rozwiązań wymienionych na tej stronie oraz z innych witryn i skończyło się na tym, że zrobiłem bałagan i wszystko, co chciałem zrobić, to cofnąć wszystko, co zrobiłem, aby uwarzyć.Popełniłem swoją zmianę, ale to pogorszyło sprawę. Ostatecznie musiałem cofnąć zatwierdzenie i
git reset --hard HEAD~1
dopóki nie doszedłem do właściwego zatwierdzenia. Miałem też bałagan niewersjonowanych plików (zmieniłem uprawnienia do plików w / usr / Local), więc zrobiłem,git clean -f -d
co usunęło wszystkie niewersjonowane pliki i katalogi i wróciło do miejsca, w którym zacząłem, zanim wprowadziłem jakiekolwiek zmiany.źródło
Kroki, aby to naprawić:
Zainstaluj narzędzia wiersza poleceń dla Xcode 6
Zainstaluj ponownie napar:
Po zainstalowaniu naparu rvm będzie działać:
Pracował dla mnie, yahoo!
źródło
Edycja skryptu oznacza,
brew update
że nie zadziała; istnieją lokalne edycje śledzonych plików, które powodujągit pull
niepowodzenie.Zrobiłem to, co podejrzewam, że jest czystsze:
Nie ma żadnych skarg od
brew doctor
.źródło
brew doctor
i postępować zgodnie z instrukcjami. Problem polega na tym, żebrew doctor
prawdopodobnie nie działa dla ciebie, jeśli tu jesteś. Możesz po prostu to zrobićgit stash
i kontynuować.To konglomerat odpowiedzi z postów innych osób, a także trochę kopania w Google, ale pomyślałem, że umieściłem to, więc pełna odpowiedź jest w jednym miejscu. W szczególności sprawia to, że teraz wszystko działa, ale także pozwala robić aktualizacje w normalny sposób i ponownie wszystko jest czyste.
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
. Po prostu zmieniasz „1.8”, które było w tym wierszu na „Bieżące” (upewnij się, że trzymasz duże „C”, w przeciwnym razie git będzie później zdezorientowany).cd $(brew --repository)
git add Library/brew.rb
git commit -m "upgrading to ruby 2.0"
brew update
(lubsudo brew update
jeśli twój napar jest skonfigurowany do dokonywania zmian systemowych tylko za pomocą sudo)Kredyt: wiele z tego pochodzi stąd , chociaż naprawdę odradzam robienie tego
git commit -am
w folderze / usr / local.źródło
Jak poprzednio powiedział: 1) Zmień na bieżący 2) zainstaluj xcode 6
Jeśli masz teraz dalsze problemy z brew i ruby, to powinno pomóc: Jakoś brew potrzebuje ruby w wersji 1.8, więc utwórz folder:
i utwórz link symboliczny:
źródło
Spójrz na ten samouczek tutaj: http://ryantvenge.com/2014/09/ruby-homebrea-yosemite/
U mnie zadziałało!
źródło
Naprawiłem to w następujący sposób :
sudo chown -R $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master
źródło
błąd aktualizacji zaparzania można naprawić za pomocą tego:
https://github.com/Homebrew/homebrew/issues/19140
źródło
Uwaga: wykonaj poniższe czynności tylko wtedy, gdy skończysz w stanie całkowitej awarii, ponieważ jest to bardzo NIEBEZPIECZNE
Jako przykład wciąż otrzymywałem
Po prostu rozumiem… (bez względu na to, jakie polecenie po prostu wyłącz „aktualizuj” za pomocą polecenia) Rozwiązałem problem, prosząc o
/usr/local
folder znajomych . Następnie wykonałem kopię zapasową mojego/usr/local
folderu.Następnie przeniosłem jego
/usr/local
do swojegoUwaga: prawdopodobnie utracisz część danych, więc zrób kopię zapasową.
źródło
Miałem problemy z instalacją Rubiego za pomocą menedżerów pakietów. Uczciwie odnosząc się do tych programów, przyznaję, że mam z nimi niewielkie doświadczenie i nie starałem się sięgać głębiej, jak zrobiła to większość pozostałych respondentów. Jestem leniwy i wolę korzystać z instalatora binarnego dostępnego dla większości opcji opsys i wielu pakietów. Niestety, wydaje się, że Ruby go nie dostarcza.
Zauważyłem, że Ruby-build jest łatwy do zainstalowania (samodzielny - nie wtyczka) i zbudował Ruby ze źródeł bez błędów i umieścił go tam, gdzie chciałem.
Bingo - łatwe :) Wygląda na to, że jest to dobra alternatywa dla tych z nas, którzy menedżerowie pakietów rzucili wyzwanie perswazji.
Charlie
źródło