Ruby Version Manager: приручаем gemset или Установка нескольких версий Rails

июля 12, 2010  |  Published in Ruby, Ruby Gems, Ruby on Rails  |  2 Comments

Как и обещал, еще одна статья об RVM.

rvm's gemset is gold!Одной из самых мощных и полезных вещей в RVM являются наборы gem’ов — gemsets. Gemset представляет собой отдельную директорию для gem’ов, таким образом, что не возникает конфликта между одноименными gem’ами в разных gemset’ах. Gemset’ы, или наборы gem’ов, предоставляют на удивление полезную возможность использовать сразу несколько версий одного и того же расширения Ruby, например использовать несколько версий Rails. Так же с их помощью вы можете проверить как хорошо работает ваше приложение при различных конфигурациях gem’ов.

В предыдущей статье мы уже обсуждали установку и использование RVM, таким образом, вы наверняка уже установили несколько версий Ruby. В этой статье мы поговорим о том, как установить несколько версий Rails и как их использовать под различными реализациями и версиями Ruby.

Использовать наборы gem’ов просто, но для этого их необходимо сперва создать с помощью простой команды:
rvm use 1.8.7
rvm gemset create rails3


i
nfo: Gemset ‘rails3′ created.

Как вы догадались этой командой мы создали gemset с именем rails3.

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

rvm gemset list

info: gemsets : for ruby-1.8.7-p174 (found in /egoholic/user/.rvm/gems/)
global
rails3

Gemset с именем global является общим для всех версий и реализаций Ruby и используется по умолчанию, когда gemset для использования в текущей версии Ruby не определен.

Примечание: создаваемые gemset’ы доступны только для текущей реализации и версии Ruby. В начале мы объявили, что следует переключиться на версию MRI 1.8.7, поэтому набор rails3 будет доступен только для этой версии, но это не мешает вам переключится на другую версию и создать одноименный gemset, в который также установите Rails 3.

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

rvm gemset use rails3

info: Now using gemset ‘rails3′

Теперь давайте установим Rails 3 в текущий набор gem’ов rails3:

gem install rails —pre

Посмотреть список gem’ов в текущем gemset’е можно с момощью стандартной команды менеджера управления расширениями Ruby — RubyGems:

gem list

Теперь давайте создадим еще один gemset и установим в него текущую стабильную Rails 2.3.8:

rvm 1.9.1
rvm gemset create rails238

info: Gemset ‘rails238′ created.

rvm gemset use rails238

info: Now using gemset ‘rails238′

gem install rails

Теперь мы имеем gemset доступный для MRI 1.9.1 с установленными в него Rails 2.3.8.

Существует сокращенная команда переключения на другую версию Ruby с одновременным выбором используемого для работы набора gem’ов:

rvm 1.8.7@rails3

Символом @, как вы, наверное, догадались мы разделяем версию Ruby и название gemset’а.

Для удаления gemset’а следует воспользоваться командой:

rvm —force gemset delete rails3

, которая удалит набор rails3 без необходимости подтверждения.

Это не последняя статья об использовании RVM, в одной из следующий статей я расскажу о различных дополнительных и менее популярных возможностях RVM.

Tags: , , , ,

Responses

  1. says:

    января 12, 2011 at 23:04 (#)

    На шаге «gem install rails –pre» возникает ошибка:
    ERROR: Loading command: install (LoadError) no such file to load — zlib

    Лечить так:
    rvm package install zlib
    rvm remove 1.8.7
    rvm install 1.8.7

  2. admin says:

    января 12, 2011 at 23:47 (#)

    Спасибо, Ilya. У меня тоже эта ошибка возникала правда только один раз и то под Win XP.

Leave a Response

Для подсветки кода используйте BB - коды: [language]...[/language], где language может быть: ruby, javascript, css, html.