2013-06-18 3 views
2

Есть ли способ вернуться к версии RubyGems, которая поставляется с Mountain Lion? Поэтому я спрашиваю, что с каждым драгоценным камнем я установить я получаю следующие предупреждения:Почему я получаю «конфликтующий chdir во время другого блока chdir» при обновлении Rubygems на Mountain Lion?

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block 

Это не похоже, это вызывает какие-либо проблемы, и я всегда могу пропустить установки документации. Но, и назовите меня перфекционистом, я ненавижу их принимать. Так что я могу либо вернуть/понизить до исходной системы Rubygems, либо я могу получить какое-то направление относительно того, как исправить предупреждения.

ответ

4

Вы используете старую версию Ruby. 1.9 пришло и ушло, и теперь мы находимся на 2.0, поэтому вам может потребоваться обновить свой Ruby.

Я НЕ рекомендую обновлять версию, установленную Apple. Это есть для их собственных целей, поэтому оставьте это в покое.

Вместо этого используйте либо rbenv, либо RVM для установки «песочницы» Rubies в ваш собственный домашний каталог, который позволяет устанавливать несколько версий и переключаться между ними.

Что вы выбираете, зависит от вас. RVM немного проще, если вы не хотите знать, как устанавливаются ваши версии Ruby, и имеет множество функций и очень настраивается. Он также больше и сложнее. rbenv более голые кости и не делает столько, но, на мой взгляд, легче управлять и понимать.

Если вы установите RVM, найдите время, чтобы прочитать ENTIRE installation page перед запуском. НЕ используйте многопользовательскую/общесистемную установку; Мы регулярно слышим рассказы о горе от пользователей, которые не удосужились прочесть указания и не получили их Ruby частично, но в результате появилась непригодная система.

Что касается обновления Rubygems, вы всегда можете запустить gem update --system, но я бы порекомендовал сначала путь RVM/rbenv.

+0

Спасибо за предложения. Я смог понизить рубигемы до 1.3.6. Предупреждения исчезли. Я буду устанавливать rbenv. Мне нравится минимальный подход. У него есть такие гемзеты, как rvm? – tstrokes

+0

Нет, rbenv является минимально инвазивным.Я обнаружил, что я никогда не использовал gemset через несколько лет и использовал только некоторые из функций RVM, поэтому я использую rbenv на своем настольном компьютере и RVM на моем хосте разработки. –

+0

Я получаю эту ошибку на Ruby 2.2 –

2

Следуя предложению от the Tin Man, это шаги, которые следует выполнить с помощью rbenv.

Используйте Homebrew установить rbenv и ruby-build (а rbenv плагин для легко устанавливать различные версии Ruby) в системе:

$ brew update 
$ brew install rbenv 
$ brew install ruby-build 

По поручению rbenv, а также добавить следующую строку в ваш профиль (например, ~/.bash_profile) :

Перезагрузите терминал или source ~/.bash_profile перед продолжением.

Выяснить последнюю stable version of Ruby -при момента написания это 2.0.0-p247 й установить эту версию:

$ rbenv install 2.0.0-p247 
$ rbenv rehash 
$ rbenv global 2.0.0-p247 

И тогда вы должны быть хорошо идти. Не забудьте запустить rbenv rehash после установки каких-либо камней, которые предоставляют команды.