Est-il possible de réinstaller / réparer le rubis système de Mac OS X sans effectuer une réinstallation complète du système d'exploitation?


15

C'est possible? Je rencontre divers problèmes au moins une fois par semaine depuis qu'il a été corrompu ou quelque chose, en particulier avec les homebrews.

Si c'est possible, mais que ce serait juste une meilleure idée de partir d'une table rase, faites-le moi savoir.


Mes paramètres PATH: gist.github.com/506481
LBRapid

Depuis votre chemin, les entrées / opt / local suggèrent que vous avez également des macports. que montre quel rubis?
user151019

J'ai installé macports, mais l'utilisation de quel ruby ​​va juste montrer la version ruby ​​de rvm. Les problèmes que je rencontre sont en essayant d'utiliser quelque chose comme homebrew ou autotest
LBRapid

Suivez simplement cet article: superuser.com/questions/860819/…
Michallis

Réponses:


3

À ma connaissance - veuillez me corriger si je me trompe - vous n'avez pas besoin de réinstaller tout Mac OS X pour réinstaller votre système Ruby. Comme vous le savez peut-être, le System Ruby réside dans /System/Library/Frameworks/Ruby.framework/. Si ce dossier est supprimé ou corrompu, ou si les liens symboliques qui le pointent sont supprimés ou modifiés, vous n'aurez pas d'installation de System Ruby fonctionnelle.

Pour résoudre ce problème, essayez ceci:

  1. Insérez votre DVD d'installation de Mac OS X
  2. Ouvrez le dossier DVD d'installation de Mac OS X
  3. Ouvrez le dossier Installations facultatives
  4. Ouvrez le dossier Xcode Tools
  5. Ouvrez le package XcodeTools. Cela démarrera le programme d'installation des outils Xcode. Suivez les instructions.

Cela ne fait pas de mal non plus d'obtenir le dernier Xcode sur http://developer.apple.com/technologies/xcode.html

Divulgation complète: j'ai fait ces étapes. Je suis presque sûr qu'il restaure le Ruby.framework, mais il n'a pas restauré les liens symboliques (généralement dans / usr / bin) pour moi.


Cette solution est assez bonne, et bien que je ne l'ai pas suivie, elle a finalement été suggérée par un collègue. J'ai fini par réinstaller ruby ​​1.8.7 dans / usr / local à partir de la source et ensuite le lier à l'endroit où homebrew en avait besoin. J'avais juste besoin que rvm et homebrew soient opérationnels jusqu'à ce que j'obtienne un nouvel ordinateur le mois prochain. Alors ça va faire :) Merci pour votre réponse!
LBRapid

1
Pourriez-vous s'il vous plaît mettre à jour cela pour Yosemite en utilisant le bundle installé AppStore
rraallvv

@rraallvv Je ne sais pas ce que tu veux dire. Puis-je suggérer que si les étapes ci-dessus ne fonctionnent pas pour vous, alors (a) soyez plus précis, ou (b) créez une nouvelle réponse montrant ce qui a fonctionné pour vous, ou (c) créez une nouvelle question, référençant celle-ci.
David

J'ai créé une nouvelle question avec les détails.
rraallvv

13

Si vous utilisez Pacifist, il est possible de réinstaller simplement Ruby.

  1. Insérez votre DVD OS X
  2. Run Pacifist
  3. Sélectionnez "Ouvrir les disques d'installation d'Apple"
  4. Sélectionnez le disque
  5. Recherchez "Ruby.framework"
  6. Faites un clic droit et sélectionnez "Installer à l'emplacement par défaut"

Cela va réinstaller Ruby, pour configurer les liens symboliques de / usr / bin pour le pointer, utilisez à nouveau Pacifist:

  1. Rechercher "Contenu de BSD.pkg"
  2. Ouvert: usr -> bin
  3. Sélectionnez les liens et les fichiers dont vous avez besoin
    • casquette
    • capifier
    • erb
    • furet-browser
    • gemme
    • gpgen
    • irb
    • mongrel_rails
    • rails
    • râteau
    • rb-keygen
    • rdoc
    • drap rouge
    • ri
    • rubis
    • testrb
    • update_rubygems
  4. Faites un clic droit et sélectionnez "Installer à l'emplacement par défaut"

En général, si vous devez déterminer de quel programme d'installation un fichier provient sur votre système dans un terminal:

$ 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

Le pkgid devrait alors vous donner un indice, puis vous trouverez ce programme d'installation et le réexécuterez ou vous utiliserez Pacifist pour le faire de manière sélective.

Vous pouvez également voir quels autres fichiers se trouvent dans ce package avec:

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

J'ai trouvé que la meilleure façon de gérer Ruby sur OS X est de remettre votre système à l'état par défaut avec le processus ci-dessus. Supprimez tous les MacPort, Fink ou versions que vous avez compilés manuellement. Installez RVM et utilisez-le pour gérer l'installation de nouvelles versions.


Il s'avère que j'avais supprimé mon système Ruby et que j'avais des problèmes pour installer pow ( http://pow.cx ) sur mon mac à cause de cela. J'ai donc installé Pacifist et suivi les conseils de ce post et je suis de retour en affaires. Merci!


Pacifist (Version 3.2.17) est bloqué lors de l'installation de Ruby.framework sur Yosemite
rraallvv

3

Ancien poste, mais je passais juste des ports à l'homebrew donc ...

Pour les problèmes homebrew, je l'ai résolu en installant rvm et symlinking. Donc, si vous avez installé rvm, vous pouvez commencer en tapant:

which ruby

avec la sortie de cela, faites quelque chose comme:

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

1

J'ai fait un vrai gâchis de mon installation Ruby sur OSX mais j'ai utilisé cette interface graphique de l'équipe RVM et j'ai réussi à le résoudre avec peu d'effort et sans piratage sur une CLI

http://jewelrybox.unfiniti.com


-1

IMO Homebrew( http://brew.sh ) est le meilleur gestionnaire de packages pour OS X.

Pour installer Homebrew, procédez comme suit:

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

alors

brew install ruby

Terminé.


9
Pour installer Ruby, utilisez Ruby pour l'installer via Homebrew ...
whirlwin
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.