Как обновить Ruby до 1.9.x на Mac? - PullRequest
107 голосов
/ 13 сентября 2010

Я создал новую учетную запись пользователя на своем Mac и пытаюсь обновить текущую версию ruby ​​на нем (1.9.2) со значения по умолчанию снежного барса 1.8.7.Может кто-нибудь указать мне учебник или объяснить лучший способ обновить Ruby на моем Mac с 1.8 до 1.9.2?Спасибо

Ответы [ 9 ]

198 голосов
/ 06 января 2013

As Tin Man предлагает (выше) RVM ( Ruby Version Manager ) - это Standard для обновления вашей установки Ruby наOSX: https://rvm.io

Чтобы начать, откройте окно Terminal и введите следующую команду:

\curl -L https://get.rvm.io | bash -s stable --ruby

(вам потребуется доверяйте команде разработчиков RVM, что команда не злонамеренная - если вы параноидальный пингвин , как я, вы всегда можете прочитать источник : https://github.com/wayneeseguin/rvm) Когда она будет завершена, вам потребуется перезапустить терминал , чтобы команда rvm заработала.

rvm list known

(показывает последнюю версию )доступные версии Ruby)

rvm install ruby-2.3.1

Для конкретной версии, затем

rvm use ruby-2.3.1

или , если вам нужна только последняя (текущая) версия:

rvm install current && rvm use current

(устанавливает текущую стабильную версию - на момент написания ruby-2.3.1 - обновляйте эту вики после выпуска новых версий)

Неe при компиляции Ruby : в моем случае мне также пришлось установить Homebrew http://mxcl.github.com/homebrew/, чтобы получить драгоценных камней , которые мне нужны ( RSpec )что, в свою очередь, заставляет вас установить Xcode (если вы этого еще не сделали) https://itunes.apple.com/us/app/xcode/id497799835 И / ИЛИ установить пакет GCC с: https://github.com/kennethreitz/osx-gcc-installer визбегайте ошибок при запуске " make ".

Edit: Начиная с Mavericks вы можете выбрать установку только инструментов командной строки Xcode вместовесь пакет Xcode, который поставляется с gcc и множеством других вещей, которые могут вам понадобиться для сборки пакетов.Его можно установить, запустив xcode-select --install и следуя подсказкам на экране.

Примечание об ошибках : если при попытке выполнить эту команду появляется ошибка " RVM не является функцией ", посетите: Как изменить версию Ruby с помощью RVM? за решение.

66 голосов
/ 13 сентября 2010

Я сделаю сильное предложение для рвм .

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


Я добавлю, что сейчас (02.04.2013) я много использую rbenv , потому что мои потребности просты. RVM великолепен, но у него есть много возможностей, которые мне никогда не нужны, поэтому я использую его на некоторых машинах и rbenv на моем настольном компьютере и ноутбуке. Стоит проверить и то, и другое, и посмотреть, что лучше всего подходит для ваших нужд.

19 голосов
/ 18 августа 2013

С brew это однострочный:

(при условии, что вы нажали homebrew / версии, что можно сделать, запустив brew tap homebrew/versions)

brew install ruby193

Обработано изкоробка для меня на OS X 10.8.4.Или, если вы хотите 2.0, вы просто brew install ruby

В общем, brew search ruby показывает вам различные доступные репо, и если вы хотите получить действительно конкретные данные, вы можете использовать brew versions ruby и вместо этого выбрать конкретную версию..

4 голосов
/ 19 марта 2015

Я знаю, что это старый пост, но я хочу добавить дополнительную информацию об этом.Во-первых, я думаю, что rvm отлично работает НО это не обновляло ruby ​​из моей системы (MAC OS Yosemite).

Что делал rvm: установка в другое место иустановка пути к моей переменной окружения ... И мне было немного скучно, потому что у меня в системе было два рубина.

Чтобы исправить это, я удалил rvm, затем использовал менеджер пакетов Homebrew, доступный здесь , и установил команду терминала ruby ​​throw, выполнив brew install ruby.

И тогда все работало отлично!Рубин из моей системы был обновлен!Надеюсь, это поможет следующим искателям приключений!

3 голосов
/ 06 января 2013

Я не соглашусь с жестяным человеком здесь. Я считаю rbenv предпочтительным для RVM. rbenv не сильно мешает вашей оболочке, как это делает RVM, и позволяет добавлять отдельные установки Ruby в обычные папки, которые вы можете просмотреть напрямую. Это позволяет вам компилировать Ruby самостоятельно. Хорошая схема различий здесь: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Я даю инструкции по компиляции Ruby 1.9 для rbenv здесь . Далее более подробная информация здесь . Я с легкостью использовал эту технику на Снежном Барсе, Льве и Горном льве.

2 голосов
/ 15 мая 2014

Эта команда действительно работает

\curl -L https://get.rvm.io | bash -s stable --ruby

2 голосов
/ 13 сентября 2010

Статья Дэна Бенджамина по Hivelogic Установка Ruby, RubyGems и Rails на Snow Leopard - это рекомендуемое место, хотя статья предназначена для версии 1.8, так что вот особая установка Ruby 1.9 на Snow Leopard.Остерегайтесь 64-битных вещей ... либо перейдите на все 64-битные "толстые" (как, например, Apache на OS X, что может вызвать проблемы с 32-битными библиотеками), либо проверьте любые гемы, которые вам вероятныиспользовать, чтобы убедиться, что они в порядке для 64-разрядных.

0 голосов
/ 14 января 2013

Есть несколько других менеджеров версий, которые нужно рассмотреть, см. Несколько примеров , и один из них, которого там нет в списке, который я скоро попробую, - ch-ruby . Я пробовал rbenv, но у меня было слишком много проблем с ним. RVM - моя опора, хотя иногда она имеет странную проблему (отсюда и мое желание попробовать ch-ruby, когда у меня будет шанс). Я бы не стал трогать систему Ruby, поскольку на это могут положиться другие вещи.

Я должен добавить, что я также несколько раз компилировал свой собственный Ruby, и использование статьи Hivelogic (как предположил Дэйв Эверитт) - хорошая идея, если вы выберете этот путь.

0 голосов
/ 14 января 2013

Как уже упоминалось ранее, версия пакета может быть слишком высокой для вашей версии rails.

Я столкнулся с той же проблемой, используя Rails 3.0.1, для которой требуется Bundler v1.0.0 - v1.0.22

Проверьте версию вашего сборщика, используя: gem list bundler

Если версия вашего сборщика не находится в соответствующем диапазоне, я нашел это решение для работы: rvm @global do gem uninstall bundler

Примечание: требуется rvmдля этого решения ... другой случай, почему вы должны использовать rvm в первую очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...