Как управлять несколькими наборами гемсетов и рубинов с помощью RVM? - PullRequest
10 голосов
/ 14 сентября 2010

Я действительно смущен объяснениями, приведенными на сайте RVM. Связь между различными интерпретаторами ruby ​​и наборами гемов мне не ясна. По-моему, это так -

  1. Моя учетная запись в моем Mac имеет один rvm
  2. Это rvm устанавливает и управляет множеством различных версий интерпретаторов ruby.
  3. каждая версия ruby ​​имеет набор наборов гемов.

Я все выясняю ... Любое количество объяснений приветствуется. Я могу работать (Ruby 1.8.7 + rails 2.3.8 и его зависимости) и (Ruby 1.9.2 и Rails 3.0 и его зависимости) ...

Если кто-то хорошо разбирается в работе со многими версиями ruby ​​и наборами гемов с помощью rvm, пожалуйста, объясните мне ... спасибо за помощь

Ответы [ 2 ]

18 голосов
/ 14 сентября 2010

Вот как мне нравится это делать ...

  1. Установить рубин с RVM
  2. Переключиться на / использовать этот рубин
  3. Создать набор драгоценностей дляпроект
  4. Переключить на / использовать этот набор гемов
  5. Установить необходимые гемы
  6. создать псевдоним, который указывает на выбранный мной рубин и набор гемов
  7. переключиться наэтот новый псевдоним (опять же, связанный с проектом)

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

Пример:

$ rvm install ruby-1.9.2
...
$ rvm list

rvm rubies

=> ree-1.8.7-head [ i386 ]
   ruby-1.9.2-head [ i386 ]
   ruby-1.9.2-preview3 [ i386 ]

$ rvm use ruby-1.9.2-preview3

info: Using ruby 1.9.2 preview3
$  rvm gemset create my_project

info: Gemset 'my_project' created.
rvm gemset use my_project

info: Now using gemset 'my_project'
$ gem install httparty
When you HTTParty, you must party hard!
Successfully installed crack-0.1.8
Successfully installed httparty-0.6.1
2 gems installed
$ rvm alias create my_project ruby-1.9.2-preview3@my_project

info: Creating alias my_project for ruby-1.9.2-preview3@my_project.

info: Recording alias my_project for ruby-1.9.2-preview3@my_project.
$ rvm use my_project

info: Using ruby 1.9.2 preview3 with gemset my_project
$ ....

Теперь у меня есть целая среда, посвященная конкретному проекту.Это здорово, потому что я могу экспериментировать со всеми видами драгоценных камней / версий, не беспокоясь о том, чтобы топать все другие проекты, которые предъявляют особые требования.

Удачи!

2 голосов
/ 24 июля 2012

Чтобы добавить ответ Брайана выше, вы также можете использовать файлы .rvmrc для динамического переключения наборов гемов при входе в новые каталоги проектов.

просто выполните следующее:

rvm rvmrc create ruby-1.8.7-p358@my_project

Это поможетпрекратите путаницу, которая была у меня при переключении, и забудьте о том, что наборы gemsets

UPDATE .rvmrc находятся в процессе удаления для более нового файла .ruby-version, см. обсуждение здесь: https://gist.github.com/fnichol/1912050

...