Установка Ruby 2.1.0 на CentOS 6.5 с помощью RVM

При подготовке системы к установке Ruby (будь то подготовка сервера к работе нового приложения или же изолированная установка Ruby) любой пользователь может немного запутаться.

Данное руководство сфокусировано на наиболее простом, надежном и быстром способе установки последней версии интерпретатора Ruby (на данный момент это версия 2.1.0) в системе CentOS 6.5. для этого будет использоваться  менеджер версий – RVM, или Ruby Version Manager.

Что такое Ruby Version Manager (RVM)?

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

RVM поддерживает несколько версий Ruby одновременно; кроме того, он поставляется со встроенными инструментами (под названием gemset-ы) для создания и работы с виртуальными средами. С помощью RVM можно создать любое количество совершенно изолированных (и автономных) gemset-ов, в которых находятся и хранятся между разными этапами развертывания необходимые пользователю зависимости, пакеты и установки Ruby, которые гарантированно будут работать должным образом в любой точке системы.

Что такое gemset-ы?

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

Особенности системы CentOS

Операционная система CentOS является ответвлением от RHEL (Red Hat Enterprise Linux). Целевые пользователи этого дистрибутива – это, как правило, предприятия, которые нуждаются в стабильной и долговечной системе.

Потому основным ориентиром CentOS является стабильность, для достижения которой необходимо выпускать проверенные версии приложений.

Все стандартные приложения, которые поставляются с CentOS, предназначены только для системы (и ее вспомогательных приложений, таких как менеджер пакетов YUM), а не для пользователя. Работать с ними нелегко и крайне не рекомендуется.

Потому сначала необходимо снабдить систему CentOS 6.5 всеми инструментами, и лишь затем приступать к установке Ruby.

Подготовка системы

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

В данном случае для выполнения установки понадобится несколько библиотек и инструментов (например, development tools и подобные библиотеки), которые не поставляются по умолчанию. Следовательно, нужно предварительно установить их.

Различные инструменты разработки можно загрузить при помощи программных групп YUM (YUM software groups – связки и комплекты часто используемых инструментов (приложений), готовые для загрузки).

Итак, чтобы скачать нужные инструменты разработки, запустите:

yum groupinstall -y development

или

yum groupinstall -y 'development tools'

Примечание: первая (сокращенная) версия команды может не сработать на устаревших дистрибутивах.

Загрузка и установка RVM

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

RVM разработан с целью упростить процесс загрузки Ruby и управление средами. Очевидно, загрузка самого RVM также проста.

Чтобы загрузить и установить RVM, запустите команду:

curl -L get.rvm.io | bash -s stable

Чтобы создать системную среду, используйте скрипт оболочки RVM:

source /etc/profile.d/rvm.sh

Установка Ruby 2.1.0

Теперь система готова к установке и использованию Ruby 2.1.0 (или любой другой версии). Теперь можно приступать к установке Ruby 2.1.0 из исходного кода, который будет обработан RVM.

Итак, чтобы скомпилировать Ruby 2.1.0 из исходного кода при помощи RVM, запустите:

rvm reload
rvm install 2.1.0

Как задать версию Ruby по умолчанию

При работе с несколькими приложениями, находящимися на стадии производства, вероятнее всего, понадобятся несколько версий Ruby.

Как правило, в большинстве подобных ситуаций последняя версия используется как интерпретатор для запуска остальных версий.

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

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

ruby --version
# ruby command is linked to the selected version of Ruby Interpreter (i.e. 2.1.0)

Чтобы просмотреть список всех установленных версий Ruby, введите:

rvm list rubies

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

# Usage: rvm use [version] rvm use 2.1.0

Работа с несколькими установками Ruby

Чтобы использовать другую версию Ruby в текущей сессии, внесите влаг –default:

# Usage: rvm use [version] --default
rvm use 2.1.0 --default

Работа с gemset-ами

Gemset-ы RVM создают виртуальную среду в физических локациях, в результате чего все связанные с приложением пакеты (то есть, зависимости, библиотеки и т.д.) хранятся отдельно и используются только одним приложением (сайтом).

Некоторым разработчикам работа с gemset-ами может показаться абсолютно ненужным и громоздким процессом. Тем не менее, немного попрактиковавшись в использовании gemset-ов, их преимущества становятся очевидными. Виртуальная среда (и на этапе производства, и на стадии разработки) существенно упростит работу и обслуживание приложения.

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

# Usage: rvm gemset [create/use] [name] # Create a new gemset using the default Ruby interpreter (2.1.0)
# Run: rvm use [version] if you wish to work with another
# Example: rvm use 2.0.0
rvm gemset create myapp
# Switch to using the new gemset called *myapp*
rvm gemset use    myapp

Чтобы упростить этот процесс, можно также использовать:

# Usage: rvm use [version]@[name] --create
rvm use 2.1.0@myapp --create

С этого момента все действия (например, установка gem-а Ruby)будет выполнено только внутри данной среды. Например, при установке gem-а:

gem install [package]

команда установит [package] внутри gemset-а, запрещая другим приложениям (из других gemset-ов) доступ к нему.

Чтобы удалить все установленные gem-ы, можно очистить gemset при помощи команды:

# Usage: rvm gemset empty [name] rvm gemset empty myapp

Аналогично, удаалить gemset можно с помощью аргумента delete:

# Usage: rvm gemset delete [name] rvm gemset delete myapp

Примечание: чтобы получить дополнительную информацию по использованию RVM, читайте данное руководство.

Tags: , , , , , , , , ,

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