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. Эти шаги помогли мне, если вы обнаружили что-то другое или проблему, пожалуйста, поделитесь ниже.