Статьи

Обновление до Ruby 2.0 на Mountain Lion

Ruby 2.0 был выпущен 24 февраля в честь 20-летия Ruby. Если вы используете RVM и хотите попробовать бета-версию Rails 4.0, то в идеале вы захотите использовать Ruby 2.0. Вот что я сделал, чтобы моя среда разработки работала так, как мне нравится.

Во-первых, я использую Mac с Mountain Lion (OS X 10.8.2) и использую замечательный  Ruby Version Manager (rvm)  для управления своими Ruby .

Мой сценарий таков:

Я хочу использовать Ruby 2.0 и Rails 4.0 beta. Мне также нужно иметь возможность запускать ruby-1.9.3-p392, потому что я все еще использую  Octopress  для написания черновиков, а Octopress требует ruby-1.9.3-p392.

Вот что я сделал:

Обновление RVM

Я не уверен, что этот шаг абсолютно необходим, но я все равно сделал это с:

rvm get stable

Обновите RubyGems

Я имею в виду сам RubyGems, с настоящими драгоценными камнями разбираются в одно мгновение:

gem update --system

Это обновит RubyGems до версии 2.0.0.

Обновить драгоценные камни

Затем я запустил общее обновление гема:

gem update

Убедившись, что мы все еще стремимся варить …

Я использую  Homebrew,  чтобы избежать всех кошмаров о зависимости, с которыми пользователи Mac могут столкнуться в противном случае Сначала я сделал обновление:

brew update

Затем я побежал к врачу, чтобы убедиться, что все в порядке:

brew doctor

Вы должны получить:

Your system is raring to brew.

Если вы этого не сделаете, просто следуйте советам, которые вам предлагает врач. В самом деле. Я никогда не сталкивался с ситуацией, когда совет неверен / не работает. И если вы собираетесь работать с Ruby, вам  нужен  Homebrew на вашем Mac.

Я не фанат обобщений, и я понимаю, что последний номинал может быть один. Тем не менее, это то, что мой опыт был. Если у вас был другой, пожалуйста, прокомментируйте ниже.

Старайтесь не давать глазам остыть — требуется libyaml

Я не фанат бесконечных гиков / ботанических дискуссий о библиотеках / алгоритмах и других подобных технических вопросах. Я просто хочу создавать веб-приложения. Исследования говорят мне, что libyaml требуется, потому что Ruby 2.0.0 устарел syck в пользу психики. Если вас интересует, есть какое — то объяснение  можно найти здесь , и вы можете прочитать о  YAML  здесь. Rails использует yaml, так же как и Ruby 2.0 в нижней строке, поэтому:

brew install libyaml

Вам тоже нужен OpenSSL

Очевидно, существует проблема совместимости с версией OpenSSL  на вашем Mac  и версией, которая вам нужна для Ruby. Это решается путем:

rvm pkg install openssl

Который закончится этим сообщением:

Please note that it's required to reinstall all rubies:

    rvm reinstall all --force

Так сделай это.

А теперь для Ruby 2.0

Все идет нормально. Теперь мы можем установить Ruby 2.0:

rvm install 2.0.0

Иди и поставь чайник, это займет некоторое время …

Это должно закончиться с:

Install of ruby-2.0.0-p0 - #complete 

Вы также можете установить его как стандартный Ruby:

rvm use 2.0.0 --default

Обновление до ruby-1.9.3-p392

Как я упоминал ранее, Octopress все еще нуждается в ruby-1.9.3-p392. В вашем блоге будет собственный набор гемов, поэтому вы получаете следующее сообщение:

Do you wish to trust this .rvmrc file? (/Users/you/yourblog/.rvmrc)
y[es], n[o], v[iew], c[ancel]> y

Когда вы  cd в свой блог-каталог. Давайте обновим тогда:

rvm upgrade ruby-1.9.3-p362 ruby-1.9.3-p392

Время для другого варева, это займет некоторое время …

В конечном итоге вам зададут этот вопрос:

Are you sure you wish to MOVE gems from ruby-1.9.3-p362 to ruby-1.9.3-p392?

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

Do you wish to move over aliases? (Y/n): y
Do you wish to move over wrappers? (Y/n): y
Do you also wish to completely remove ruby-1.9.3-p362 (inc. archive)? (Y/n): y

Тогда я получил:

Successfully migrated ruby-1.9.3-p362 to ruby-1.9.3-p392
Upgrade complete!

И начал писать этот пост. Кажется, сработало просто отлично. Я могу сделать:

ruby -v

Который отвечает:

ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.0]

Кроме того, когда я в моем каталоге Octopress. Если я запускаю его там, я получаю:

ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.2.0]

Отлично, все работает!

В заключение…

Теперь у меня есть последняя версия Ruby, доступная на моем Mac, под управлением Mountain Lion. У меня также установлен ruby ​​1.9.3p392, чтобы я мог продолжать использовать Octopress. Эти шаги помогли мне, если вы обнаружили что-то другое или проблему, пожалуйста, поделитесь ниже.