RVM в управлении установкой и конфигурациями Ruby на VPS

Вступление

Ruby – широко распространенный язык программирования, обладающий Ruby on Rails, или RoR, популярным фреймворком, который позволяет разрабатывать приложения и функционирует с минимальными трудностями.

Зачастую разработка приложений требует копирования конфигураций.

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

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

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

Основной синтаксис RVM

Если вы уже установили RVM, вам должна быть доступна команда rvm. Так мы вызываем RVM.

Основной синтаксис команды выглядит так:

rvm command_options command ruby_to_act_on

Также можно использовать флажки RVM, которые могут вносить изменения в работу RVM и приведены как дополнительная  команда.

Вы можете получить список доступных команд, набрав

rvm help.

Чтоб получить помощь по конкретной команде, нужно сослаться на нее после “help” для получения более подробной инструкции, например:

rvm help command

Как активировать автодополнение RVM

Для активизации автодополнения RVM , нужно внести  в файл .bashrc следующую строку:

[[ -r $rvm_path/scripts/completion ]] && . $rvm_path/scripts/completion

Чтоб дополнить команду RVM, можно после ввода части команды дважды нажать клавишу TAB. Например, можно набрать:

rvm inst

и в этом месте дважды нажать ТАВ, тогда команда завершится до

rvm install.

Затем можно закончить вводить параметры.

Запомните: это также работает с аргументами. При переключении на другую версию Ruby, можно ввести

rvm use

Затем введите пробел и дважды ТАВ, и вам будет представлен список доступных версий Ruby.

Как устанавливать и удалять Ruby

Список доступных для установки версий Ruby можно получить с помощью команды

rvm list known

После того, как вы выбрали версию Ruby, которую хотите установить, можно выполнить следующую команду:

rvm install ruby_version

Если вы захотите удалить версию Ruby, это можно сделать просто введя

rvm uninstall ruby_version

Как переключить версии Rubу между собой

Если вы установили несколько версий Ruby, вы можете просмотреть их список с помощью команды:

rvm list
rvm rubies
=* ruby-2.0.0-p247 [ x86_64 ] # => - current
# =* - current && default
#  * - default

Как видите, RVM предоставляет удобное руководство, чтоб сообщить, какие из версий Ruby текущие, а какие – по умолчанию. В данном  случае, это одно и то же.

Переключитесь на другую версию Ruby, введя

rvm use ruby_version

Используя флажок –-default, укажите версию Ruby по умолчанию:

rvm --default use ruby_version

Чтобы переключиться на версию Ruby по умолчанию, нужно ввести:

rvm default

Чтоб использовать версию Ruby, установленную в системе (не с помощью RVM), нужно указать:

rvm use system

Как использовать Gemsets в RVM

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

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

Это значит, что вы можете иметь две разные версии одного gem’a, или же сделать gems невидимыми для других gem ‘ов системы.

Чтоб просмотреть доступные gemset’ы для основной версии Ruby, можно набрать:

rvm gemset list

Если у вас установлено несколько версий Ruby, все gemset’ы можно просмотреть, введя:

rvm gemset list_all

По умолчанию, вы должны иметь два сконфигурированных gemset’а:

  • default: gemset, который применяется, если другой gemset не указан.
  • global: этот gemset наследуется  всеми остальными используемыми gemset’ами. Этот набор, как правило, не нужно выбирать, так как он добавляется автоматически. Здесь нужно установить совместно используемые gems.

Вы можете без труда создать другой gemset. Мы создадим gemset под названием “test_project”, чтоб продемонстрировать, как это работает:

rvm gemset create test_project

Если вы в качестве проверки хотите скопировать текущий gemset к новому, используйте данную команду:

rvm gemset copy default test_project

Можно изменить gemset, который мы хотим использовать:

rvm gemset use test_project

Можно также одновременно сменить версию Ruby и gemset. Для этого нужно указать версию Ruby, затем  набрать символ «@» и задать gemset:

rvm use 2.0.0@test_project

Теперь можно установить Tic-Tac-Toe gem, используя команду:

gem install tictactoe -v 0.0.4

Сейчас можно вернуться к gemset’у по умолчанию и установить более простую версию того же gem’а:

rvm gemset use default

gem install tictactoe -v 0.0.3

Теперь у нас установлены две разные версии Tic-Tac-Toe gem’а, можно самостоятельно протестировать их, переключая используемый gemset.

Если вы забыли, с каким именно gemset’ом вы сейчас работаете, эта команда назовет вам активный gemset:

rvm gemset name

Когда вы закончили использовать gemset (возможно, потому что вы закончили проверять), вы можете избавиться от него, используя следующую команду:

rvm gemset delete test_project

RVM – как задать конфигурацию по умолчанию

RVM можно сконфигурировать со значениями по умолчанию на разных уровнях. RVM хранит эти значения в данном файле:

nano ~/.rvm/config/db

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

Запомните: не нужно редактировать этот файл. Он переписывается вместе с установкой улучшенной версии RVM.

При необходимости вы можете заменить эти параметры, используя отдельный файл:

nano ~/.rvm/user/db

Для легкости использования можно скопировать параметры из файла config/db и поместить их в файл user/db, чтоб без труда изменить их.

Как автоматизировать конфигурации RVM

Для различных проектов можно создавать индивидуальные конфигурации, которые устанавливают, какую версию Ruby и gemset нужно использовать, путем создания файла .rvmrc внутри каталога проекта.

Это устраняет необходимость вручную отслеживать активную версию Ruby.

Чтоб создать индивидуальные конфигурации для проекта, просто создайте файл .rvmrc в главном каталоге файлов проекта:

nano .rvmrc

В созданном файле нужно набрать «rvm», затем указать версию Ruby, набрать символ «@» и задать gemset:

rvm ruby_version@gemset

Это все, что нужно. Вам может понадобиться принять конфигурации, когда вы впервые зайдете в каталог.

Убедитесь в том, что вы создали gemset и установили версию Ruby, которые вы указываете, иначе каждый раз, когда вы будете заходить в каталог, будет появляться просьба установить и создать необходимые элементы.

Можно также добавить любого рода индивидуальные конфигурации RVM в один и тот же файл.

Как обновить RVM

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

Просто используйте следующую команду:

rvm get stable

Тогда RVM выберет и установит новейшую версию и перезагрузит конфигурации. В этом случае вы потеряете свои конфигурации, если вы поместили их в config/db вместо user/db.

Чтоб улучшить RVM  до последней доступной версии (не обязательно стабильной), достаточно набрать:

rvm get head

Заключение

Как вы можете видеть, RVM – универсальный инструмент, который можно использовать для управления проектами и целостности конфигураций Ruby. Можно использовать RVM, чтоб сконфигурировать условия развития, установки сервера, и даже для размещения ваших приложений.

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

Tags: , , ,

Добавить комментарий