Йосемити, рубиновые выпуски

Я получил новый Macbook Pro с Yosemite, на моем предыдущем компьютере были установлены Mavericks. Он сказал, что он восстановился от моей старой машины, но многие вещи пропали. Я не слишком много думал об этом, спеша, я просто начал вручную устанавливать все свои глобальные переменные (node, npm, mongodb, sass) вместе с другим программным обеспечением, которое мне не хватало.

Проблема, я не могу получить что-нибудь рубиновое, связанное с работой. Я получаю ту же ошибку для всех попыток установки gem.

/Library/Ruby/Site/2.0.0/rubygems/specification.rb:15:in `require': cannot load such file -- rubygems/util/stringio (LoadError)
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:15:in `<top (required)>'
from /Library/Ruby/Site/2.0.0/rubygems.rb:1204:in `require'
from /Library/Ruby/Site/2.0.0/rubygems.rb:1204:in `<module:Gem>'
from /Library/Ruby/Site/2.0.0/rubygems.rb:115:in `<top (required)>'
from <internal:gem_prelude>:1:in `require'
from <internal:gem_prelude>:1:in `<compiled>'

Имейте в виду, что я не трогал ruby, я даже не использую homebrew, так как он установлен вместе с ruby, при попытке получить ту же ошибку.

ruby -v дает мне это:

ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

echo $ PATH

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/ryanore/npm-global:/data/db:/usr/local/bin/mongodb/bin

Есть хороший шанс, что мне нужно будет полностью переустановить Yosemite, но я не Ruby, поэтому я бы хотел, чтобы кто-то сказал мне, что это легко исправить.

Пожалуйста и спасибо.

3 ответа

Решение

Как ни странно, правильный ответ в итоге оказался тем, что @vgoff сказал в комментарии. Скажите парню, что он сделал это неправильно.

Я был в центре масштабного 4-месячного проекта и не мог стереть свою машину, пока она не закончилась. Я не мог решить проблему с rbenv или rvm, потому что это всегда приводило к одной и той же ошибке. Я даже не мог их установить.

Я ценю все ответы, но, в конце концов, этот крайний случай может быть решен только с помощью чистой установки.

В настоящее время вы используете OS X по умолчанию установку Ruby. Также кажется, что некоторые инсталляции с драгоценными камнями отсутствуют.

Я бы порекомендовал установить RVM и использовать Ruby Version Manager для установки предпочитаемой вами версии Ruby (я бы пошел с 2.2)*.

Это позволит вам как установить обновленную версию Ruby, так и сохранить инсталляцию Ruby операционной системы.

После установки чистой обновленной версии Ruby, просто выберите обновленную версию, используя rvm (rum use 2.2) и установите все нужные вам драгоценные камни - вы можете запустить bundle install из папки вашего приложения, если вы используете Bundler (который является менеджером драгоценных камней по умолчанию в Rail).

Нет необходимости переустанавливать всю систему для такого маленького вопроса, но иметь чистую обновленную установку Ruby всегда весело.

PS

Убедитесь, что вы установили XCode и инструменты командной строки, прежде чем устанавливать какие-либо гемы, которые нужно скомпилировать. Для установки ruby, вероятно, также потребуется XCode.

* Обязательно следуйте инструкциям RVM и выбирайте только что установленную версию Ruby, прежде чем устанавливать какие-либо гемы. Возможно, вы захотите сделать недавно установленную версию Ruby версией по умолчанию для вашего пользователя: rvm use 2.2 --default

Установите Xcode и инструменты командной строки. Установите инструменты командной строки, запустив в терминале

xcode-select --install

Что касается Ruby Version Manager, я предпочитаю rbenv. Вы столкнетесь со слишком многими проблемами, используя системный рубин.

Установите RBENV:

Клонировать репо:

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

Добавьте Rbenv к вашей переменной $PATH - Run in Terminal:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

Добавьте rbenv init в вашу оболочку - Запустите в терминале:

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

Перезапустите свой терминал для изменений

Вы должны быть в состоянии запустить:

 type rbenv

Который должен вывести: "rbenv - это функция"

Теперь установите Ruby-build как плагин

Клонировать репо:

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Есть также некоторые рекомендуемые библиотеки, которые вы должны установить, чтобы избежать проблем с зависимостями - при условии, что вы используете homebrew:

brew install openssl libyaml libffi

Теперь для установки Ruby:

Перечислить доступные версии

rbenv install -l

Чтобы установить версию

rbenv install 2.2.0

Чтобы установить его глобально, выполните:

rbenv global 2.2.0

Доступно больше команд, но они должны помочь вам начать.

https://github.com/sstephenson/rbenv

https://github.com/sstephenson/ruby-build

Другие вопросы по тегам