Как установить и использовать разные версии ruby?

18846
Michael

Я изучаю рельсы из разных книг, которые используют разные версии как ruby, так и rails. Сейчас на моем Mac OS X Snow Leopard (in /usr/bin) установлено ruby ​​1.87, но мне также нужно использовать ruby ​​1.9 для другого приложения на rails.

Может кто-нибудь сказать мне, как сделать эту работу? Я новичок в этом, поэтому я буду благодарен как можно большему количеству инструкций.

9

2 ответа на вопрос

9
slhck

Есть два "менеджера версий Ruby", которые вы можете выбрать:

Они были созданы для хранения нескольких версий Ruby в одной системе. После того, как вы установили их и установили свою собственную версию Ruby, вы не будете связываться с Ruby вашей системы и его Gems, что является величайшим преимуществом.

Какой из них выбрать?

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

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

Как мне их установить?

Если вы выбираете rbenv:

  • Следуйте инструкциям по установке
  • устанавливать ruby-build
  • Запустить, rbenv install x.x.xгде x.x.xверсия (используйте, rbenv install --listчтобы увидеть, какие из них доступны
  • Запустите, rbenv global x.x.xчтобы изменить свою глобальную версию Ruby

Если вы выбираете RVM:

  • Используйте безопасный метод установки
  • Прочитайте инструкцию по установке - вы, вероятно, хотите однопользовательскую конфигурацию
  • Используйте rvm list knownдля отображения списка доступных Ruby, а затем запустите rvm install x.x.xдля установки определенной версии.
  • Используйте, rvm use x.x.x --defaultчтобы изменить свой Ruby по умолчанию
Смотрите также [rbenv] (https://github.com/sstephenson/rbenv). grawity 13 лет назад 1
@ grawity Почему бы не опубликовать другой ответ? Хорошо, что есть альтернативы, но я еще не изучал `rbenv`. slhck 13 лет назад 0
Большое спасибо, это также помогает переключаться между версиями Rails? В разных книгах я использую 3.05 (я думаю) и 3.1, и это вызывает проблемы ... Michael 13 лет назад 0
Я попытался установить строку, которую вы написали (и которая также находится на сайте rvm) и получил сообщение об ошибке: bash: строка 152: команда git: не найдена bash: строка 154: команда git: не найдена Michael 13 лет назад 0
Ах, тебе нужно "мерзавец", конечно. Извините, я забыл это. Вы можете установить Git с помощью [установщика OS X] (http://code.google.com/p/git-osx-installer/downloads/list) (просто выберите последнюю версию вверху). slhck 13 лет назад 0
И да, Rails по сути является просто драгоценным камнем (вместе с другими), поэтому вы можете переключать его с помощью [Named Gem Sets] (http://beginrescueend.com/gemsets/basics/), как описано в руководстве по RVM - даже специально для случая Rails. @Майкл slhck 13 лет назад 0
это странно, комментарии появляются и исчезают. Я думал, что у вас есть комментарий, связанный с установщиком git ... Michael 13 лет назад 0
большое спасибо. Git поставляется с файлом "настройка git для нетерминальных программ". Там есть немного кода ... я должен положить его куда-нибудь? Michael 13 лет назад 0
@Michael Посмотрите на это в README. Вам это не нужно, но это не помешает. Просто откройте этот файл с помощью терминала. Если это слишком сложно, просто пропустите эту часть. slhck 13 лет назад 0
Похоже, что ссылка на RVM нуждается в обновлении: https://rvm.io/ Jacob Ewald 8 лет назад 0
5
Michael Trojanek

I think rbenv deserves at least its own answer.

There is a constant battle between fans of rbenv and those of RVM but I personally like rbenv a lot more. As the Sam Stephenson (the author) states, rbenv it solely concerned with switching Ruby versions (as opposed to RVM, which does a lot more).

On OS X, it's especially easy to give it a try. Just follow the excellent installation instructions on the Github page (if you have Homebrew installed, it's basically just a brew install rbenv ruby-build).

As for switching Rails versions, I once wrote an article about that which my be of interest for you.

[Вот краткое описание] (https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F) автора rbenv об основных различиях с RVM и причинах выбора rbenv. Простота rbenv была главной причиной для меня отойти от RVM. IMO лучше управляет наборами драгоценных камней для конкретных приложений с помощью Bundler - для этого вам не нужен менеджер версий Ruby. Jochem Schulenklopper 9 лет назад 1
Точно - управление наборами драгоценных камней для конкретного приложения - это [работа Бандлера] (http://www.relativkreativ.at/articles/managing-multiple-rails-versions). Я никогда не был поклонником гемсетов, привязанных к менеджерам версий. Michael Trojanek 9 лет назад 0

Похожие вопросы