Как обновить Ruby до 1.9.x на Mac?
Я создал новую учетную запись пользователя на своем Mac, и я пытаюсь обновить текущую версию ruby на нем (1.9.2) из снежного барса по умолчанию 1.8.7. Может кто-нибудь указать мне учебник или объяснить лучший способ обновить Ruby на моем Mac с 1.8 до 1.9.2? Спасибо
9 ответов
Я сделаю сильное предложение для RVM.
Это отличный способ управлять множеством наборов Ruby и гемов, не сталкиваясь с системной версией.
Я добавлю, что сейчас (02.04.2013) я часто использую rbenv, потому что мои потребности просты. RVM великолепен, но у него есть много возможностей, которые мне никогда не нужны, поэтому он есть на некоторых машинах и rbenv на моем настольном компьютере и ноутбуке. Стоит проверить и то, и другое, и посмотреть, что лучше всего подходит для ваших нужд.
Как предполагает The Tin Man (см. Выше), RVM (Ruby Version Manager) - это стандарт для обновления установки Ruby в OSX: https://rvm.io/
Для начала откройте окно терминала и введите следующую команду:
\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 - обновите эту вики, когда будут выпущены новые версии)
Примечание по компиляции 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 ".
Изменить: Начиная с Mavericks, вы можете установить только инструменты командной строки Xcode вместо всего пакета Xcode, который поставляется с gcc и множеством других вещей, которые могут вам понадобиться для сборки пакетов. Это можно установить, запустив xcode-select --install
и следуя подсказкам на экране.
- Примеры: https://rvm.io/workflow/examples/
- Скриншот: http://screencasts.org/episodes/how-to-use-rvm
Примечание об ошибках: если при попытке выполнить эту команду появляется ошибка " RVM не является функцией ", посетите страницу: Как изменить версию Ruby с помощью RVM? для решения.
С заваркой это однострочник:
(при условии, что вы нажали homebrew/version, что можно сделать, запустив brew tap homebrew/versions
)
brew install ruby193
Получилось из коробки для меня на OS X 10.8.4. Или, если вы хотите 2.0, вы просто brew install ruby
В более общем смысле, brew search ruby
показывает различные доступные репо, и если вы хотите получить действительно конкретные, вы можете использовать brew versions ruby
и проверить конкретную версию вместо.
Я знаю, что это старый пост, но я хочу добавить дополнительную информацию об этом. Во-первых, я думаю, что rvm
отлично, НО это не обновляло ruby из моей системы (MAC OS Yosemite).
Какие rvm
делал: устанавливал в другое место и устанавливал там путь к моей переменной окружения... И мне было немного скучно, потому что у меня было два ruby в моей системе.
Чтобы исправить это, я удалил rvm
, затем использовал менеджер пакетов Homebrew, доступный здесь, и установил команду терминала ruby throw, выполнив brew install ruby
,
И тогда все работало отлично! Рубин из моей системы был обновлен! Надеюсь, это поможет следующим искателям приключений!
Я не согласен с жестяным человеком здесь. Я считаю rbenv предпочтительнее RVM. rbenv
не сильно мешает вашей оболочке, как RVM, и позволяет вам добавлять отдельные установки Ruby в обычные папки, которые вы можете просмотреть напрямую. Это позволяет вам скомпилировать Ruby самостоятельно. Хорошая схема различий здесь: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F
Инструкции по компиляции Ruby 1.9 для rbenv приведены здесь. Далее более подробная информация здесь. Я с легкостью пользовался этой техникой на Snow Leopard, Lion и Mountain Lion.
Эта команда на самом деле работает
\curl -L https://get.rvm.io | bash -s stable --ruby
Статья Дэна Бенджамина по Hivelogic Установка Ruby, RubyGems и Rails на Snow Leopard - это рекомендуемое место, хотя статья предназначена для версии 1.8, так что вот установка Ruby 1.9 для Snow Leopard. Остерегайтесь 64-битной штуки... либо перейдите на все 64-битные "толстые" (как, например, Apache на OS X, что может вызвать проблемы с 32-битными библиотеками), либо проверьте любые гемы, которые вам вероятны использовать, чтобы убедиться, что они в порядке для 64-разрядных.
Есть несколько других менеджеров версий, которые нужно рассмотреть, посмотрите несколько примеров, и один из них, которого там нет в списке, который я скоро опробую, это ch-ruby. Я пробовал rbenv, но у меня было слишком много проблем с ним. RVM - моя опора, хотя иногда она имеет странную проблему (отсюда мое желание попробовать ch-ruby, когда у меня будет шанс). Я бы не стал трогать систему Ruby, так как на это могут положиться другие вещи.
Я должен добавить, что я также несколько раз компилировал свой собственный Ruby, и использование статьи Hivelogic (как предположил Дэйв Эверитт) - хорошая идея, если вы выберете этот путь.
Как упоминалось ранее, версия пакета может быть слишком высокой для вашей версии рельсов.
Я столкнулся с той же проблемой, используя Rails 3.0.1, который требует Bundler v1.0.0 - v1.0.22
Проверьте версию вашего пакета, используя: gem list bundler
Если версия вашего комплекта не входит в соответствующий диапазон, я нашел, что это решение работает: rvm @global do gem uninstall bundler
Примечание: rvm требуется для этого решения... другой случай, почему вы должны использовать rvm в первую очередь.