Home » Как установить Ruby on Rails через RVM на Ubuntu 24
Как установить Ruby on Rails через RVM на Ubuntu 24

Как установить Ruby on Rails через RVM на Ubuntu 24

Привет! Сегодня разберём, как правильно и без лишних танцев с бубном установить Ruby on Rails через RVM на Ubuntu 24. Эта тема актуальна для всех, кто работает с Ruby проектами на серверах — от локальной разработки до полноценного продакшена. RVM (Ruby Version Manager) — один из самых популярных инструментов для управления версиями Ruby, который значительно упрощает жизнь разработчикам и системным администраторам.

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

Почему RVM — это правильный выбор

Прежде чем погружаться в команды, давайте разберём, почему RVM стоит вашего внимания. В отличие от системной установки Ruby через apt, RVM даёт вам полный контроль над версиями и окружением. Это означает, что вы можете:

  • Устанавливать и переключаться между любыми версиями Ruby
  • Создавать изолированные наборы гемов (gemsets) для каждого проекта
  • Обновлять Ruby без риска сломать существующие приложения
  • Легко откатываться к предыдущим версиям при необходимости

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

Начнём с подготовки свежей Ubuntu 24. Первым делом обновляем систему и устанавливаем необходимые зависимости:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gpg build-essential libssl-dev libreadline-dev zlib1g-dev libyaml-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs npm

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

Установка RVM

Теперь самое интересное — установка RVM. Сначала импортируем GPG ключи для безопасности:

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Затем скачиваем и устанавливаем RVM:

curl -sSL https://get.rvm.io | bash -s stable

После установки перезагружаем shell или выполняем:

source ~/.rvm/scripts/rvm

Проверяем, что RVM установился корректно:

rvm --version

Установка Ruby через RVM

Теперь можем установить Ruby. Сначала посмотрим доступные версии:

rvm list known

Для Rails рекомендую использовать последнюю стабильную версию Ruby. На момент написания статьи это 3.2.0:

rvm install 3.2.0
rvm use 3.2.0 --default

Проверяем установку:

ruby --version
which ruby

Установка Rails и настройка окружения

Теперь устанавливаем Rails. Сначала обновляем RubyGems:

gem update --system

Затем устанавливаем Rails:

gem install rails

Проверяем установку:

rails --version

Создание и настройка gemsets

Одна из главных фишек RVM — это gemsets. Они позволяют изолировать гемы для разных проектов. Создадим gemset для нашего проекта:

rvm gemset create myproject
rvm use 3.2.0@myproject

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

Практические примеры и кейсы

Давайте рассмотрим несколько реальных сценариев использования:

Сценарий Команда Когда использовать
Переключение между версиями Ruby rvm use 3.1.0 При работе с legacy проектами
Создание .rvmrc для автоматического переключения echo “rvm use 3.2.0@myproject” > .rvmrc Для автоматизации в проектах
Установка конкретной версии Rails gem install rails -v 7.0.4 Для совместимости с определёнными версиями

Оптимизация и производительность

Чтобы ускорить установку гемов, можно отключить генерацию документации:

echo "gem: --no-document" >> ~/.gemrc

Также рекомендую настроить Bundler для более быстрой установки зависимостей:

gem install bundler
bundle config set --global jobs 4

Альтернативные решения

Стоит упомянуть альтернативы RVM:

  • rbenv — более лёгкий менеджер версий Ruby
  • asdf — универсальный менеджер версий для разных языков
  • Docker — контейнеризация всего окружения

Сравнение популярности:

Менеджер GitHub звёзд Плюсы Минусы
RVM ~5k Богатая функциональность, gemsets Тяжёлый, может конфликтовать с shell
rbenv ~16k Лёгкий, простой Нет встроенных gemsets
asdf ~21k Универсальный для многих языков Может быть излишним для Ruby-only проектов

Автоматизация и скрипты

Для автоматизации развёртывания можно создать скрипт установки:

#!/bin/bash
# install_rails.sh

# Устанавливаем зависимости
sudo apt update
sudo apt install -y curl gpg build-essential libssl-dev libreadline-dev zlib1g-dev libyaml-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs npm

# Импортируем GPG ключи
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

# Устанавливаем RVM
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

# Устанавливаем Ruby и Rails
rvm install 3.2.0
rvm use 3.2.0 --default
gem update --system
gem install rails

echo "Установка завершена!"
rails --version

Интеграция с другими инструментами

RVM отлично интегрируется с:

  • Passenger для продакшен-серверов
  • Capistrano для автоматизации деплоя
  • Docker для контейнеризации
  • Jenkins/GitHub Actions для CI/CD

Возможные проблемы и решения

Самые частые проблемы и их решения:

  • Ошибки компиляции — проверьте наличие build-essential и зависимостей
  • Проблемы с PATH — убедитесь, что RVM правильно настроен в .bashrc
  • Конфликты с системным Ruby — используйте rvm use –default
  • Медленная установка гемов — настройте parallel установку в Bundler

Безопасность и лучшие практики

Несколько важных моментов по безопасности:

  • Всегда проверяйте GPG подписи при установке RVM
  • Используйте Bundler для управления зависимостями
  • Регулярно обновляйте Ruby и гемы
  • Изолируйте проекты через gemsets

Заключение и рекомендации

RVM остаётся одним из самых мощных инструментов для управления Ruby окружением, особенно в продакшене. Да, он может показаться избыточным для простых случаев, но когда у вас несколько проектов с разными требованиями — это настоящее спасение.

Основные рекомендации:

  • Используйте RVM для продакшен-серверов с несколькими Rails-приложениями
  • Настройте gemsets для каждого проекта
  • Автоматизируйте установку через скрипты
  • Регулярно обновляйте Ruby и следите за безопасностью

Если вам нужен сервер для тестирования или продакшена, рекомендую посмотреть VPS или выделенные серверы — там можно спокойно экспериментировать с разными конфигурациями.

Удачи в настройке! И помните — правильно настроенное окружение это половина успеха в разработке.


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

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

Leave a reply

Your email address will not be published. Required fields are marked