Установка Ruby и Ruby on Rails с помощью rbenv на Ubuntu 22.04

Ruby on Rails – один из самых популярных стеков для создания сайтов и веб-приложений на Ruby. Язык программирования Ruby в сочетании с фреймворком Rails позволяет быстро создавать и развертывать масштабируемые приложения.

Установить Ruby и Rails можно с помощью инструмента командной строки rbenv. Использование rbenv обеспечивает надежную среду для разработки приложений Ruby on Rails и позволяет переключаться между версиями Ruby, чтобы вся команда работала на одной версии. Rbenv также обеспечивает поддержку указания версий Ruby для конкретных приложений, позволяет изменять глобальную версию Ruby для каждого пользователя, а также использовать переменную окружения для переопределения версии Ruby.

В этой статье мы рассмотрим, как установить Ruby и Ruby on Rails на Ubuntu с помощью rbenv и gem. Сначала мы установим пакеты, необходимые для установки rbenv, а затем Ruby. После этого мы установим плагин ruby-build, чтобы иметь возможность устанавливать доступные версии Ruby. И наконец, с помощью gem установим Rails. Также мы рассмотрим, как проверить, актуальна ли версия rbenv, и как удалить отдельные версии Ruby и rbenv.

Установка rbenv и зависимостей

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

Установить необходимые пакеты можно с помощью следующих команд:

sudo apt update
sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev

После установки зависимостей можно приступить к установке rbenv. Используем curl, чтобы скачать скрипт-установщик rbenv с Github, и запустим его с помощью bash:

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash

После завершения установки выполните следующую команду:

~/.rbenv/bin/rbenv init
# Please add the following line to your `~/.bashrc' file,
# then restart your terminal.

eval "$(/root/.rbenv/bin/rbenv init - bash)"

В результате выполнения команды вы увидите команду вида eval "....", которую необходимо добавить в .bashrc, чтобы rbenv инициализировался при каждом подключении к серверу.

Сделать это можно следующей командой:

echo '<сюда_подставьте_команду_из_предыдущего_вывода>' >> ~/.bashrc

Пример: echo 'eval "$(/root/.rbenv/bin/rbenv init - bash)"’ >> ~/.bashrc

Применим внесенные изменения в файл ~/.bashrc к текущей сессии:

source ~/.bashrc

И в конце убедимся, что rbenv установлен корректно, с помощью команды type – она отобразит информацию о команде rbenv:

type rbenv

Вывод команды type:

rbenv is a function
rbenv ()
{
    local command;
    command="${1:-}";
    if [ "$#" -gt 0 ]; then
        shift;
    fi;
    case "$command" in
        rehash | shell)
            eval "$(rbenv "sh-$command" "$@")"
        ;;
        *)
            command rbenv "$command" "$@"
        ;;
    esac
}

Мы установили rbenv и ruby-build, теперь перейдем к установке среды разработки Ruby.

Установка Ruby с помощью ruby-build

С установленным плагином ruby-build можно установить любую версию Ruby одной командой. Для начала посмотрим список доступных версий Ruby:

rbenv install -l

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

3.0.6
3.1.4
3.2.2
3.3.0
jruby-9.4.5.0
mruby-3.2.0
picoruby-3.0.0
truffleruby-23.1.1
truffleruby+graalvm-23.1.1

Only latest stable releases for each Ruby implementation are shown.
Use `rbenv install --list-all' to show all local versions.

Установим последнюю на данный момент доступную версию Ruby – 3.3.0:

rbenv install 3.3.0

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

После завершения установки Ruby сделаем версию 3.3.0 стандартной с помощью команды rbenv global:

rbenv global 3.2.0

Убедимся, что Ruby установился нормально, проверив его версию:

ruby -v

Если вы устанавливали версию 3.3.0, то вывод будет следующим:

ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]

Теперь у нас одна версия Ruby, которая установлена стандартной для системы. Перейдем к работе с гемами и установке Rails.

Работа с гемами (Gems)

Гемы (Gems) – это способ распространения библиотек Ruby. Для управления гемами используется команда gem и мы используем ее для установки Rails.

Когда вы устанавливаете гем, генерируется локальная документация. Это добавляет значительное количество времени к процессу установки каждого гема, поэтому мы отключим генерацию локальной документации, создав файл ~/.gemrc, который содержит параметр конфигурации для отключения этой функции:

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

Bundler – это инструмент управления зависимостями гемов для проектов. Установим гем Bundler, так как он необходим для работы Rails:

gem install bundler

В результате установки вы получите следующий вывод:

Fetching bundler-2.5.4.gem
Successfully installed bundler-2.5.4
1 gem installed

Вы можете использовать команду gem env, чтобы узнать больше об окружении и конфигурации гемов. Например, вы можете проверить, куда устанавливаются гемы, указав в качестве аргумента home:

gem env home

В результате вы получите вывод, похожий на следующий:

/root/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0

После установки Bundler перейдем к установке Rails.

Установка Rails

Для установки Rails воспользуемся командой gem install с флагом -v, чтобы установить конкретную версию. В данном случае мы установим последнюю доступную на момент написания статьи версию – 7.1.2:

gem install rails -v 7.1.2

Команда gem install устанавливает указанный гем, а также все его зависимости. Rails – сложный фреймворк для веб-разработки и имеет множество зависимостей, поэтому процесс установки займет некоторое время. В конце установки вы получите сообщение о том, что Rails установлен вместе со всеми его зависимостями:

…
Successfully installed rails-7.1.2
38 gems installed
Обратите внимание!
Если вы хотите установить другую версию Rails, вы можете вывести список всех доступных версий Rails, воспользовавшись следующей командой:
gem search '^rails$' --all

Если вы хотите установить последнюю версию Rails, используйте команду gem install без флага -v:
gem install rails

Rbenv создает каталог shims, который указывает на файлы, которые использует установленная версия Ruby, активированная в данный момент. С помощью команды rbenv rehash необходимо актуализировать shims после установки Rails. Это необходимо делать каждый раз, когда вы устанавливаете новую версию Ruby или гем, который содержит команды для командной строки, как в случае с Rails:

rbenv rehash

Проверим установку Rails, выведя его версию:

rails -v

Если Rails установлен корректно, то вывод будет следующим:

Rails 7.1.2

Процесс установки Ruby и Rails завершен и можно приступать к работе с Ruby on Rails.

Обновление rbenv

Во время установки rbenv используется Git, который клонирует репозиторий rbenv локально в директорию ~/.rbenv. Для обновления rbenv достаточно использовать команду git pull в директории ~/.rbenv:

cd ~/.rbenv
git pull

Удаление версий Ruby

Плагин ruby-build содержит команду uninstall, с помощью которой можно удалить определенную версию Ruby:

rbenv uninstall 3.3.0

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

Удаление rbenv

Если вам больше не нужен rbenv, то вы можете удалить его из системы.

Для этого откройте файл ~/.bashrc любым удобным редактором и удалите следующие строки:

…
eval "$(/root/.rbenv/bin/rbenv init - bash)"
…

Затем удалите rbenv и все установленные версии Ruby следующей командой:

rm -rf `rbenv root`

Заключение

В этой статье мы рассмотрели установку rbenv, Ruby и гемов для установки фреймворка Ruby on Rails. Теперь вы можете приступить к созданию своих сайтов и веб-приложений.

Надеемся, наше руководство по установке Ruby и Ruby on Rails с помощью rbenv было вам полезно.

Желаем удачной работы с Ruby и Ruby on Rails!

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.

Теги:

10
1823