Установка RVM — Ruby Version Manager (менеджер управления пакетами в ruby)
Источник - http://www.unix-lab.org/posts/ruby-rvm/
RVM — нужен нам для того, чтобы настраивать Gemset проекта, отвечающий за набор подключенных gem'ов в проекте. Так же позволяет применять разные версии Ruby на одной машине.
Gem — пакет ruby, предоставляющий какую-то функциональность.
Установка RVM
$ \curl -L https://get.rvm.io | bash
source /home/user/.rvm/scripts/rvm # активировать rvm
Перезапускаем консоль и убеждаемся в том, что rvm был успешно установлен:
$ rvm -v
Консоль выведет версию rvm:
rvm 1.23.13
Дополним PATH export PATH="$PATH:$HOME/.rvm/bin"
Дальше смотрим список доступных для установки и уже установленных пакетов ruby.
$ rvm list known # просмотреть все доступные для установки версии Ruby
$ rvm list # все установленные версии Ruby
``` => - current - текущая версия
=* - current && default - текущая и используется по-умолчанию
* - default - используемая по-умолчанию версия
Использование разных версий ruby и gemset'ы
$rvm install 1.9.3 # установить несколько версий ruby
$ rvm install 2.0.0
Отлично, мы установили две версии ruby. Теперь чтобы выбрать одну из них по умолчанию пишем:
$ rvm use ruby-2.0.0-p247 --default # переключиться на ruby 2 и использовать v2 по-умолчанию
Теперь если вывести:
$ rvm list
ruby-1.9.3-p448 [ x86_64 ]
=* ruby-2.0.0-p247 [ x86_64 ]
=> - current =* - current && default # текущая и используется по умолчанию
default```
Теперь разберемся с gemset'ами, для примера создадим gemset project-gemset, где будут собраны все нужные gem'ы
$ source ~/.rvm/scripts/rvm # «включаем» rvm
$ rvm use 1.9.3@project-gemset --create # создать gemset
$ rvm use 1.9.3@project-gemset --default # выбирать его по-умолчанию
$ gem install project-gemset sass-globbing # установка gem'ов
Все, теперь gem sass-globbing прописан в gemset'е project-gemset, и мы можем проверить это командой:
$ gem list # просмотр установленных в выбранном gemset'е gem'ов
Gemset'ы создаются для определённой версии ruby. Так, при переключении с одной версии на другую вы будете всегда видеть разный набор gemset'ов: отображаются они также лишь для своей версии.
$ rvm gemset list # набор gemset'ов для ruby2
gemsets for ruby-2.0.0-p247
(default)
=> example
global
$ cd projects/project-name # переход в директорию проекта, где используется ruby1.9
$ rvm gemset list # набор gemset'ов для ruby1.9
gemsets for ruby-1.9.3-p448
(default)
global
=> project-name
При переходе в директорию проекта, автоматически меняется версия ruby и набор gemset'ов.
Gemset'ы можно удалять(delete), очищать(), экспортировать(export) и импортировать(import) gem'ы из одного в gemset'a в другой. Наиболее часто используемые действия отражены в данной ниже таблице.
КОМАНДА
ОПИСАНИЕ
rvm gemset create
создать новый gemset
rvm gemset export new.gems
экспорт списка gem'ов в файл new.gems
rvm gemset import new.gems
импорт в текущий gemset списка gem'ов из файла new.gems
rvm gemset delete
удалить gemset
rvm gemset empty
очистить gemset
rvm gemset delete example –force
полностью удалить gemset example
rvmreset
перезагрузка RVM
rvm uninstall
удалить версию Ruby, оставить исходники
rvm implode
полностью удалить RVM!
rvm list known
получить список всех версий ruby доступных для установки
rvm list
отобразить список установленных версий ruby
rvm gemset list
просмотреть список gemset'ов в выбранной версии ruby
rvm install 1.9.3
установить ruby версии 1.9.3
rvm remove 1.9.3
удалить ruby версии 1.9.3
rvm use 1.9.3
переключиться на ruby версии 1.9.3
rvm use 1.9.3@new –default
использовать версию ruby 1.9.3 c gemset new по умолчанию
rvm use system
использовать системную версию ruby
Создание отдельного окружения для проекта
Переключение между gemset'ами переключаться между gemsets при необходимости выглядит так:
$ rvm gemset use global
$ rvm gemset use new-gemset
Но для большего удобства, можно создать два файла в каталоге с проектом: .ruby-gemset
и .ruby-version
, куда и поместить информацию об используемом в проекте gemset'е и версии ruby.
$ cat ~/projects/project-name/.ruby-gemset
new-gemset
$ cat ~/projects/project-name/.ruby-version
ruby-1.9.3-p448
Теперь достаточно просто зайти в директорию проекта, и нужные нам параметры будут установлены автоматически.
$ cd ~/projects/project-name
$ rvm list
=> ruby-1.9.3-p448 [ x86_64 ]
* ruby-2.0.0-p247 [ x86_64 ]
# => - current
# =* - current && default
# * - default
То есть, если вы использовали версию ruby 2, после перехода в каталог с проектом, она автоматически изменится на версию, указанную в .ruby-version
, на этом все.
Last updated