Что такое Gemset?
Я уже создал
rvm install 1.8.7-head rvm install 1.9.2
При этом, вы установили два рубины (не Gemsets), а именно версии 1.8.7 и 1.9.2. Это (просто говоря) две версии интерпретатора / языка Ruby.
Теперь в каждой версии Ruby обычно установлено несколько Gems (Rails - один). Думайте об этом как о плагине. В обычном случае у вас есть только один набор плагинов для Ruby в вашей системе. Однако с помощью RVM вы можете настроить его на использование нескольких «Gemsets» для каждой версии Ruby. Таким образом, вы можете использовать несколько версий Ruby (например, Ruby 1.8.7 и 1.9.2), и каждая из них будет использовать разные Gemsets.
В вашем случае, возможно, вы хотите иметь два набора Gemsets для каждой из ваших версий:
В дополнение к создаваемым вами наборам Gemsets, каждый Ruby также имеет наборы Gemsets «по умолчанию». Это тот, который вы получаете, когда вы не указываете имя Gemset при переключении. Все они разделяют один «глобальный» Gemset.
Как вы создаете Gemset?
Как вы создаете такой «тестовый» Gemset?
Согласно руководству, сначала переключитесь на версию Ruby, которую вы хотите использовать:
rvm 1.9.2
… А затем создайте Gemset, в вашем случае «тестирование». Часть о GEM_HOME
, ну, забудьте об этом. В руководстве не упоминается, как его создать. Вы должны прочитать немного ниже к примеру:
rvm gemset create testing
Теперь ваш Ruby 1.9.2 будет иметь Gemset под названием «testing», который вы можете переключить с помощью
rvm 1.9.2@testing
Теперь любой Gem, который вы устанавливаете, gem install
будет находиться в этом конкретном Gemset. Если вы создадите другой Gemset (используя rvm gemset create
) и переключитесь на него, ранее установленный Gem будет недоступен, так как вы сейчас работаете с другим Gemset.