Можно ли переустановить / исправить системный рубин Mac OS X без полной переустановки ОС?


15

Является ли это возможным? Я сталкиваюсь с различными проблемами, по крайней мере, один раз в неделю, так как они испортились или что-то в этом роде, особенно с домашним пивом

Если это возможно, но было бы лучше начать с чистого листа, пожалуйста, дайте мне знать.


Мои настройки PATH: gist.github.com/506481
LBRapid

С вашего пути записи / opt / local предполагают, что у вас также есть macports. что показывает какой рубин?
user151019

У меня установлен macports, но с помощью которого ruby ​​просто покажет версию rvm ruby. Проблемы, с которыми я сталкиваюсь, заключаются в попытке использовать что-то вроде доморощенного или автотеста
LBRapid

Просто следуйте этой статье: superuser.com/questions/860819/…
Михаллис

Ответы:


3

В моем понимании - пожалуйста, поправьте меня, если я ошибаюсь - вам не нужно переустанавливать весь Mac OS X, чтобы переустановить вашу систему Ruby. Как вы, возможно, знаете, системный рубин находится в /System/Library/Frameworks/Ruby.framework/. Если эта папка удалена или повреждена, или если символические ссылки, указывающие на нее, удалены или изменены, у вас не будет работающей установки System Ruby.

Чтобы исправить, попробуйте это:

  1. Вставьте установочный DVD Mac OS X
  2. Откройте папку установки DVD с Mac OS X
  3. Откройте папку «Дополнительные установки»
  4. Откройте папку Xcode Tools
  5. Откройте пакет XcodeTools. Это запустит Установщик Инструментов XCode. Следуй инструкциям.

Также не помешает получить последний Xcode от http://developer.apple.com/technologies/xcode.html

Полное раскрытие: я сделал эти шаги. Я почти уверен, что он восстанавливает Ruby.framework, но он не восстановил символические ссылки (обычно в / usr / bin) для меня.


Это решение довольно хорошее, и хотя я не следовал ему, оно в конечном итоге было предложено коллегой. В итоге я просто переустановил ruby ​​1.8.7 в / usr / local из исходного кода и затем поставил символическую ссылку на то место, где это требовалось homebrew. Мне просто нужно было работать с rvm и homebrew, пока я не получу новый компьютер в следующем месяце. Так что это будет делать :) Спасибо за ваш ответ!
LBRapid

1
Не могли бы вы обновить это для Yosemite, используя установленный пакет AppStore
rraallvv

@rraallvv Я не уверен, что ты имеешь в виду. Могу ли я предложить, что если вышеперечисленные шаги не работают для вас, то (а) будьте более конкретны, или (б) создайте новый ответ, показывающий, что сработало для вас, или (в) создайте новый вопрос, ссылаясь на этот.
Дэвид Дж.

Я создал новый вопрос с деталями.
rraallvv

13

Если вы используете Pacifist, то можно просто переустановить Ruby.

  1. Вставьте свой OS X DVD
  2. Запустить пацифист
  3. Выберите «Открыть установочные диски Apple»
  4. Выберите диск
  5. Поиск "Ruby.framework"
  6. Щелкните правой кнопкой мыши и выберите «Установить в папку по умолчанию»

Это переустановит Ruby, чтобы установить символические ссылки из / usr / bin, чтобы они указывали на него, снова используйте Pacifist:

  1. Поиск "Содержание BSD.pkg"
  2. Открыть: usr -> bin
  3. Выберите ссылки и файлы, которые вам нужны
    • кепка
    • capify
    • эрб
    • хорек-браузер
    • драгоценный камень
    • gpgen
    • IRB
    • mongrel_rails
    • рельсы
    • грабли
    • гь-кейген
    • RDoc
    • RedCloth
    • Род-Айленд
    • Рубин
    • testrb
    • update_rubygems
  4. Щелкните правой кнопкой мыши и выберите «Установить в папку по умолчанию»

В общем, если вам нужно выяснить, из какого установщика пришел файл в вашей системе в терминале:

$ 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 должен дать вам подсказку, а затем вы либо найдете этот установщик и снова запустите его, либо используете Pacifist для выборочного выполнения.

Вы также можете увидеть, какие файлы находятся в этом пакете:

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

Я обнаружил, что лучший способ справиться с Ruby в OS X - это привести систему в состояние по умолчанию с помощью описанного выше процесса. Удалите все MacPort, Fink или версии, которые вы скомпилировали вручную. Установите RVM и используйте его для управления установкой более новых версий.


Оказывается, я удалил системный Ruby и у меня возникли проблемы с установкой pow ( http://pow.cx ) на моем Mac из-за этого. Поэтому я установил Pacifist и последовал совету в этом посте, и я снова в деле. Благодарность!


Pacifist (версия 3.2.17) застревает при попытке установить Ruby.framework на Yosemite
rraallvv

3

Старый пост, но я просто переключался с портов на доморощенный, так что ...

Для доморощенных проблем я решил это, установив rvm и символические ссылки. Так что, если у вас установлен rvm, вы можете начать, набрав:

which ruby

с выводом, что сделать что-то вроде:

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

1

Я сильно испортил мою установку Ruby на OSX, но я использовал этот графический интерфейс от команды RVM и сумел решить его без особых усилий и без взлома CLI

http://jewelrybox.unfiniti.com


-1

IMO Homebrew( http://brew.sh ) - лучший менеджер пакетов для OS X.

Для установки Homebrew сделайте:

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

потом

brew install ruby

Выполнено.


9
Чтобы установить Ruby, используйте Ruby для установки через Homebrew ...
whirlwin
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.