Установка и управление Ruby с помощью RVM на Ubuntu
Что такое RVM
RVM — это инструмент для управления версиями Ruby. Одной строкой: он направляет вызовы ruby/gem к выбранной версии с помощью переменных окружения и ссылок.
Краткое определение: RVM — «менеджер версий Ruby», который устанавливает Ruby в пользовательскую директорию и переключает окружение по требованию.
Как это работает
Обычно RVM устанавливают либо для конкретного пользователя, либо системно. RVM сохраняет разные версии Ruby и при активации одной из них перенастраивает PATH и переменные окружения. Это похоже на набор символических ссылок и настроек окружения, а не на виртуальную машину — процессы запускают реальный исполняемый файл Ruby выбранной версии.
Важно: RVM может использовать «gemsets» — изолированные наборы гемов для одной версии Ruby, чтобы избежать конфликтов между проектами.
Подготовка и установка
- Установите зависимости сборки. На Ubuntu выполните:
sudo apt-get install git build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev- Установите RVM с официального инсталлятора (стабильная ветка):
\curl -sSL https://get.rvm.io | bash -s stableПримечание: обратный слеш перед curl помогает обойти возможный алиас curl в вашей оболочке.
- После установки RVM вы увидите сообщение от разработчиков RVM и инструкции по следующему шагу.
Добавление Ruby
Чтобы установить конкретную версию Ruby, используйте команду rvm install. Пример для Ruby 1.8.7:
rvm install 1.8.7
RVM обработает конфигурацию, компиляцию и установку RubyGems.

После установки
Чтобы RVM мог перехватывать вызовы Ruby, добавьте загрузку RVM в ваш профиль оболочки. В файл ~/.bashrc или ~/.bash_profile добавьте строку:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"Перезапустите оболочку (закройте и откройте терминал или выполните команду source ~/.bashrc).
Проверьте установку:
type rvm | head -1Ожидаемый ответ: «rvm is a function». Если это не так, проверьте, что строка добавлена в правильный профиль оболочки и что профиль загружается.
Управление версиями Ruby
Выберите установленную версию:
rvm use 1.8.7RVM отобразит подтверждение и путь к исполняемому файлу Ruby. Проверить путь можно через стандартную команду which ruby.
Установка дополнительных версий выполняется тем же способом. Гемы устанавливаются и удаляются как обычно, но они привязаны к выбранной версии или к «gemset», если вы его используете.
Когда RVM может не подойти (контрпримеры)
- Если вам нужно системно управлять Ruby для всех пользователей через пакетный менеджер системы (apt), лучше использовать пакеты Ubuntu.
- В контейнерах Docker часто удобнее собрать образ с нужной версией Ruby напрямую, минуя RVM.
- Для минималистичных окружений или CI/CD предпочтительнее rbenv или системные пакеты, так как они проще и имеют меньшую область влияния.
Альтернативные подходы
- rbenv — лёгкий менеджер версий Ruby, работает через shims и имеет более простой дизайн.
- chruby + ruby-install — минималистичный набор: ruby-install для установки, chruby для переключения.
- Системные пакеты apt / snap — подходят для одноразовой установки, но сложнее с несколькими версиями.
- Docker — создаёт изолированное окружение с предустановленным Ruby, полезно для продакшн- и CI-сборок.
Ментальная модель
Думайте о RVM как о менеджере, который подставляет в PATH нужные бинарники и настраивает переменные окружения. Он не виртуализует систему — он просто перенаправляет команды к нужной версии Ruby.
Краткая «карта риска» и типичные ошибки
- Ошибка: «rvm: команда не найдена» — обычно строка инициализации не добавлена в используемый shell.
- Ошибка компиляции — отсутствуют зависимости сборки; проверьте установку пакетов build-essential и dev-библиотек.
- Конфликты с system Ruby — убедитесь, что PATH указывает на RVM-путь первым.
Чек-листы по ролям
Для разработчика:
- Установить зависимости сборки.
- Установить RVM в пользовательский профиль.
- Установить нужную версию Ruby и gemset.
- Добавить файл .ruby-version или .ruby-gemset в проект.
Для системного администратора:
- Решить: системная или пользовательская установка RVM.
- Ограничить права и проверить безопасность исполняемых скриптов.
- Документировать версию Ruby и gemset для каждой службы.
Советы по миграции и совместимости
- При обновлении Ruby сначала установите новую версию рядом с текущей.
- Используйте gemset для постепенного переноса гемов: установите гемы в новый gemset, запустите тесты.
- Проверьте совместимость гемов и C-расширений (нужна перекомпиляция при смене мажорной версии Ruby).
Устранение неполадок (runbook)
- Проверьте, загрузился ли RVM в оболочку: выполните type rvm.
- Если нет, проверьте содержимое ~/.bashrc, ~/.bash_profile и ~/.profile на наличие строки загрузки RVM.
- Для проблем со сборкой проверьте логи сборки: RVM обычно сохраняет их в /home/
/.rvm/log/. - При подозрении на повреждённые установки используйте rvm implode (только если вы готовы удалить все версии) и переустановите.
Важно: команда rvm implode удаляет все версии и gemsets; применяйте с осторожностью.
Факты и оценки
- RVM по умолчанию устанавливает Ruby в директорию пользователя (~/.rvm).
- Подходящ для разработки и локального тестирования. Для продакшна рассмотрите контейнеры или системные пакеты.
Краткий словарь
- gemset — изолированный набор гемов для одной версии Ruby.
- gem — библиотека Ruby, устанавливаемая через rubygems.
- shim — прокси-скрипт, используемый некоторыми менеджерами версий (rbenv).
Социальный превью
OG заголовок: RVM на Ubuntu — установка и управление Ruby OG описание: Простая инструкция по установке RVM на Ubuntu, добавлению версий Ruby и базовому устранению неполадок.
Короткое объявление (100–200 слов): Ускорьте разработку на Ruby с помощью RVM: этот менеджер версий позволяет устанавливать и переключаться между несколькими версиями Ruby без конфликтов. В руководстве описаны подготовка окружения, официальный способ установки, добавление версий Ruby, базовая настройка оболочки и типичные ошибки. Также рассмотрены альтернативы (rbenv, chruby, Docker), советы по миграции и полезные чек-листы для разработчиков и администраторов. Следуя инструкции, вы легко настроите локальное окружение для разработки и тестирования приложений на разных версиях Ruby.
Итог
RVM упрощает управление версиями Ruby на Ubuntu: он автоматизирует сборку и переключение между версиями, минимизирует конфликты гемов и позволяет разработчику быстро проверять совместимость приложений с разными версиями Ruby.
Краткие выводы:
- Установите зависимости сборки, затем RVM через официальный скрипт.
- Добавьте инициализацию RVM в профиль оболочки и перезапустите терминал.
- Используйте rvm install и rvm use для установки и переключения версий.
- Рассмотрите альтернативы (rbenv, chruby, Docker) если нужен иной подход.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента