È possibile reinstallare / correggere il ruby ​​di sistema di Mac OS X senza eseguire una reinstallazione completa del sistema operativo?


15

È possibile? Sto incontrando vari problemi almeno una volta alla settimana da quando è stato corrotto o qualcosa del genere, specialmente con l'homebrew.

Se è possibile, ma sarebbe un'idea migliore partire da una lavagna pulita, per favore fatemi sapere.


Le mie impostazioni PERCORSO: gist.github.com/506481
LBRapid

Dal tuo percorso le voci / opt / local suggeriscono che hai anche macport. cosa mostra quale rubino mostra?
user151019

Ho macport installato, ma usando quale ruby ​​mostrerà solo la versione di ruby ​​rvm. I problemi che incontro sono quando provo ad usare qualcosa come homebrew o autotest
LBRapid

Risposte:


3

A mio avviso, per favore correggimi se sbaglio, non è necessario reinstallare tutto il Mac OS X per reinstallare il sistema Ruby. Come forse saprai, il sistema Ruby vive in /System/Library/Frameworks/Ruby.framework/. Se quella cartella viene eliminata o danneggiata o se i collegamenti simbolici che la puntano vengono eliminati o modificati, non avrai un'installazione di Ruby di sistema funzionante.

Per risolvere, prova questo:

  1. Inserisci il tuo DVD di installazione di Mac OS X.
  2. Apri la cartella di installazione del DVD di Mac OS X.
  3. Apri la cartella Installazioni opzionali
  4. Apri la cartella Strumenti Xcode
  5. Apri il pacchetto XcodeTools. Ciò avvierà il programma di installazione degli strumenti Xcode. Seguire le istruzioni.

Inoltre, non è male ottenere l'ultimo Xcode da http://developer.apple.com/technologies/xcode.html

Divulgazione completa: ho fatto questi passaggi. Sono abbastanza sicuro che ripristini Ruby.framework, ma non ha ripristinato i collegamenti simbolici (in genere in / usr / bin) per me.


Questa soluzione è piuttosto buona e, sebbene non l'abbia seguita, alla fine è stata suggerita da un collega. Ho finito per reinstallare ruby ​​1.8.7 su / usr / local dalla fonte e poi collegarlo a dove l'homebrew ne aveva bisogno. Avevo solo bisogno di rvm e homebrew per essere operativi fino a quando non avrò un nuovo computer il mese prossimo. Quindi questo farà :) Grazie per la tua risposta!
LBRapid,

1
Potresti aggiornare questo per Yosemite usando il pacchetto installato AppStore
rraallvv

@rraallvv Non sono sicuro di cosa intendi. Posso suggerire che se i passaggi precedenti non funzionano per te, (a) essere più specifici o (b) creare una nuova risposta che mostri cosa ha funzionato per te o (c) creare una nuova domanda, facendo riferimento a questa.
David J.

Ho creato una nuova domanda con i dettagli.
rraallvv,

13

Se usi Pacifist è possibile reinstallare Ruby.

  1. Inserisci il tuo DVD OS X.
  2. Run Pacifist
  3. Seleziona "Apri dischi di installazione Apple"
  4. Seleziona il disco
  5. Cerca "Ruby.framework"
  6. Fare clic destro e selezionare "Installa in posizione predefinita"

Questo reinstallerà Ruby, per impostare i collegamenti simbolici da / usr / bin in modo che puntino ad usare di nuovo Pacifist:

  1. Cerca "Contenuti di BSD.pkg"
  2. Apri: usr -> bin
  3. Seleziona i collegamenti e i file richiesti
    • berretto
    • capify
    • erb
    • furetto browser
    • gemma
    • gpgen
    • IRB
    • mongrel_rails
    • rotaie
    • rastrello
    • rb-keygen
    • rdoc
    • RedCloth
    • RI
    • rubino
    • testrb
    • update_rubygems
  4. Fare clic destro e selezionare "Installa in posizione predefinita"

In generale, se devi capire da quale programma di installazione proviene un file sul tuo sistema in un terminale:

$ 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

Il pkgid dovrebbe quindi darti un suggerimento e poi trovare quell'installer ed eseguirlo di nuovo o usare Pacifist per farlo selettivamente.

Puoi anche vedere quali altri file sono in quel pacchetto con:

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

Ho trovato il modo migliore per gestire Ruby su OS X è riportare il sistema allo stato predefinito con il processo sopra descritto. Rimuovi qualsiasi MacPort, Fink o versioni che hai compilato manualmente. Installa RVM e usalo per gestire l'installazione di versioni più recenti.


Risulta che avevo rimosso il mio sistema Ruby e ho avuto problemi con l'installazione di pow ( http://pow.cx ) sul mio mac a causa di ciò. Quindi ho installato Pacifist e seguito i consigli in questo post e sono tornato in attività. Grazie!


Pacifist (Versione 3.2.17) si blocca durante il tentativo di installare Ruby.framework su Yosemite
rraallvv

3

Vecchio post, ma stavo solo passando dalle porte all'homebrew quindi ...

Per problemi di homebrew, l'ho risolto installando rvm e symlinking. Quindi se hai installato rvm puoi iniziare digitando:

which ruby

con l'output di quello fai qualcosa del tipo:

ln -s /Users/username/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/bin/ruby


-1

IMO Homebrew( http://brew.sh ) è il miglior gestore di pacchetti per OS X.

Per installare Homebrew fai:

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

Poi

brew install ruby

Fatto.


9
Per installare Ruby, usa Ruby per installarlo tramite Homebrew ...
whirlwin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.