Czy można ponownie zainstalować / naprawić system ruby ​​w systemie Mac OS X bez przeprowadzania pełnej ponownej instalacji systemu?

15

Czy to możliwe? Występują różne problemy przynajmniej raz w tygodniu, ponieważ uległy one uszkodzeniu lub coś takiego, szczególnie w przypadku homebrew.

Jeśli jest to możliwe, ale lepiej byłoby zacząć od czystego konta, daj mi znać.

LBRapid
źródło
Moje ustawienia ŚCIEŻKI: gist.github.com/506481
LBRapid
Z Twojej ścieżki wpisy / opt / local sugerują, że masz również Macports. co pokazuje który rubin?
user151019,
Mam zainstalowane Macports, ale używając którego Ruby pokaże wersję RVM Ruby. Problemy, na które
natrafiam,
Wystarczy postępować zgodnie z tym artykułem: superuser.com/questions/860819/…
Michallis,

Odpowiedzi:

3

W moim rozumieniu - popraw mnie, jeśli się mylę - nie musisz ponownie instalować całego systemu Mac OS X, aby ponownie zainstalować system Ruby. Jak być może wiesz, Ruby Systemu znajdują się w /System/Library/Frameworks/Ruby.framework/. Jeśli ten folder zostanie usunięty lub uszkodzony lub jeśli dowiązania do niego wskazujące zostaną usunięte lub zmienione, nie będzie działającej instalacji System Ruby.

Aby to naprawić, spróbuj:

  1. Włóż instalacyjną płytę DVD z systemem Mac OS X.
  2. Otwórz folder instalacyjny DVD systemu Mac OS X.
  3. Otwórz folder instalacji opcjonalnych
  4. Otwórz folder Xcode Tools
  5. Otwórz pakiet XcodeTools. Spowoduje to uruchomienie Instalatora narzędzi Xcode. Postępuj zgodnie z instrukcją.

Pobieranie najnowszego Xcode ze strony http://developer.apple.com/technologies/xcode.html również nie zaszkodzi

Pełne ujawnienie: wykonałem te kroki. Jestem prawie pewien, że przywraca Ruby.framework, ale nie przywrócił dla mnie dowiązań symbolicznych (zazwyczaj w / usr / bin).

David J.
źródło
To rozwiązanie jest całkiem dobre i chociaż nie zastosowałem się do niego, ostatecznie zostało zasugerowane przez współpracownika. Skończyło się to na ponownej instalacji Ruby 1.8.7 do / usr / local ze źródła, a następnie dowiązaniu go do tego, gdzie potrzebował go homebrew. Potrzebowałem tylko programów rvm i homebrew, dopóki nie dostanę nowego komputera w przyszłym miesiącu. Więc to zrobi :) Dzięki za odpowiedź!
LBRapid
1
Czy możesz zaktualizować to dla Yosemite za pomocą zainstalowanego pakietu AppStore
rraallvv
@rraallvv Nie jestem pewien, co masz na myśli. Czy mogę zasugerować, że jeśli powyższe kroki nie działają dla Ciebie, to (a) uściśl, lub (b) stwórz nową odpowiedź pokazującą, co zadziałało dla Ciebie, lub (c) stwórz nowe pytanie, odnosząc się do tego.
David J.
Stworzyłem nowe pytanie ze szczegółami.
rraallvv
13

Jeśli używasz Pacifist, możesz po prostu ponownie zainstalować Ruby.

  1. Włóż dysk DVD z systemem OS X
  2. Uruchom pacyfistę
  3. Wybierz „Otwórz dyski instalacyjne Apple”
  4. Wybierz dysk
  5. Wyszukaj „Ruby.framework”
  6. Kliknij prawym przyciskiem myszy i wybierz „Zainstaluj w domyślnej lokalizacji”

Spowoduje to ponowną instalację Ruby, aby skonfigurować dowiązania symboliczne z / usr / bin, aby wskazać, że ponownie użyje Pacifist:

  1. Wyszukaj „Zawartość BSD.pkg”
  2. Otwórz: usr -> bin
  3. Wybierz wymagane linki i pliki
    • czapka
    • kapitalizować
    • erb
    • fretka-przeglądarka
    • klejnot
    • gpgen
    • irb
    • mongrel_rails
    • szyny
    • grabie
    • rb-keygen
    • rdoc
    • czerwona tkanina
    • Ri
    • rubin
    • testrb
    • update_rubygems
  4. Kliknij prawym przyciskiem myszy i wybierz „Zainstaluj w domyślnej lokalizacji”

Ogólnie rzecz biorąc, jeśli musisz dowiedzieć się, z którego instalatora plik pochodzi w twoim systemie w terminalu:

$ pkgutil --file-info /usr/bin/ruby
volume: /
path: usr/bin/ruby

pkgid: com.apple.pkg.BSD
pkg-version: 10.5.0.1.1.1188305148
install-time: 1203610823
uid: 0
gid: 0
mode: 120755

Pkgid powinien wtedy dać ci wskazówkę, a następnie albo znajdziesz tego instalatora i uruchom go ponownie, albo użyj Pacifist, aby to zrobić selektywnie.

Możesz również zobaczyć, jakie inne pliki są w tym pakiecie za pomocą:

$ pkgutil --files com.apple.pkg.BSD
.
Library
Library/Documentation
Library/Documentation/Commands
Library/Documentation/Commands/grep
...

Znalazłem najlepszy sposób radzenia sobie z Ruby na OS X, aby przywrócić system do stanu domyślnego z powyższym procesem. Usuń wszelkie MacPort, Fink lub wersje, które ręcznie skompilowałeś. Zainstaluj RVM i użyj go do zarządzania instalowaniem nowszych wersji.


Okazuje się, że usunąłem mój system Ruby i miałem z tego powodu problemy z instalacją pow ( http://pow.cx ) na moim komputerze Mac. Więc zainstalowałem Pacifist i zastosowałem się do rad zawartych w tym poście i wróciłem do pracy. Dzięki!

Teozaur
źródło
Pacifist (wersja 3.2.17) zacina się podczas próby zainstalowania Ruby.framework na Yosemite
rraallvv
3

Stary post, ale właśnie zmieniałem porty z homebrew, więc ...

W przypadku problemów z homebrew rozwiązałem go, instalując rvm i dowiązanie symboliczne. Więc jeśli masz zainstalowany RVM, możesz zacząć od wpisania:

which ruby

z wynikiem tego wykonaj coś takiego:

ln -s /Users/username/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/bin/ruby
Vinnie
źródło
1

Zrobiłem prawdziwy bałagan z mojej instalacji Ruby na OSX, ale użyłem tego GUI z zespołu RVM i udało mi się go rozwiązać przy niewielkim wysiłku i bez włamań do CLI

http://jewelrybox.unfiniti.com

Adam Waite
źródło
-1

IMO Homebrew( http://brew.sh ) to najlepszy menedżer pakietów dla OS X.

Aby zainstalować Homebrew:

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

Następnie

brew install ruby

Gotowy.

Shaheen Ghiassy
źródło
9
Aby zainstalować Ruby, użyj Ruby, aby zainstalować go przez Homebrew ...
whirlwin