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

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

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

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

Требования 

Для выполнения этого туториала понадобится:

  • Сервер Ubuntu, настроенный в соответствии с этим гайдом, включая пользователя sudo и брандмауэр.
  • Предварительно установленный Node.js из официального PPА, как показано в мануале по установке Node.js в Ubuntu. Некоторые функции Rails (например файлопровод, или Asset Pipeline) зависят от среды JavaScript Runtime. Node.js обеспечит эту функциональность.

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

Ruby зависит от нескольких пакетов, которые можно установить через пакетный менеджер. После их установки можно инсталлировать rbenv и с помощью него ставить Ruby.

Сначала обновите список пакетов:

sudo apt update

Затем установите зависимости, которые нужны Ruby:

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 мы получим скрипт установки с Github и передадим его в bash для запуска инсталлятора:

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

Добавьте ~/.rbenv/bin в $PATH, чтобы получить доступ к утилите командной строки rbenv. Отредактируйте файл ~/.bashrc, чтобы эта настройка сохранилась и для следующих сессий:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

Чтобы rbenv загружался автоматически, добавьте команду eval “$(rbenv init -)” в файл ~/.bashrc:

echo 'eval "$(rbenv init -)"' >> ~/.bashrc

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

source ~/.bashrc

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

type rbenv

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

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.

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

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

rbenv install -l

Эта команда выведет все версии, которые доступны для установки:

2.7.7
3.0.5
3.1.3
3.2.0
jruby-9.4.0.0
mruby-3.1.0
picoruby-3.0.0
truffleruby-22.3.1
truffleruby+graalvm-22.3.1

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

Мы установим Ruby 3.2.0:

rbenv install 3.2.0

Установка Ruby может занять много времени.

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

rbenv global 3.2.0

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

ruby -v

Если вы поставили версию 3.2.0, эта команда вернет следующий вывод:

ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]

Теперь у вас установлена одна версия Ruby и задана его версия по умолчанию. Далее мы настроим gem-ы и Rails.

3: Использование gem-ов

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

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

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

Bundler — это инструмент, который управляет зависимостями gem-ов проектов. Далее мы установим gem Bundler, поскольку Rails зависит от него:

gem install bundler

Вы получите следующий вывод:

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

Узнать больше об окружении и конфигурации gem-ов вы можете с помощью команды gem env (подкоманда env — это сокращение от environment). С помощью аргумента home вы можете задать место установки gem-ов:

gem env home

Вы получите похожий вывод:

/home/8host/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0

После настройки gem-ов можно установить Rails.

4: Установка Rails

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

gem install rails -v 7.0.4

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

...
Successfully installed rails-7.0.4
35 gems installed

Примечание: если вы хотите установить другую версию Rails, вы можете запросить список поддерживаемых версий. Для этого выполните search, который выведет длинный список версий. Затем можно поставить какую-то другую версию, например 4.2.7:

gem search '^rails$' --all
gem install rails -v 4.2.7

Если вы хотите установить последнюю версию Rails, запустите команду без указания версии:

gem install rails

rbenv создает каталог shim-ов, которые указывают на файлы текущей версии Ruby. С помощью подкоманды rehash rbenv поддерживает shim-ы в этом каталоге, чтобы они соответствовали каждой команде Ruby для каждой установленной версии Ruby на вашем сервере. Всякий раз, когда вы устанавливаете новую версию Ruby или gem, который предоставляет команды, как это делает Rails, вы должны запускать следующую команду:

rbenv rehash

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

rails -v

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

Rails 7.0.4

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

5: Обновление rbenv

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

cd ~/.rbenv
git pull

Эта команда установит самую последнюю доступную версию rbenv.

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

Постоянно устанавливая дополнительные версии Ruby, вы можете быстро захламить каталог ~/.rbenv/versions. С помощью подкоманды uninstall плагина ruby-build можно удалить предыдущие версии.

Следующая команда удалит Ruby версии 3.2.0:

rbenv uninstall 3.2.0

С помощью команды rbenv uninstall вы можете очистить старые версии Ruby.

7: Удаление rbenv

Вы можете деинсталлировать rbenv из системы.

Для этого откройте файл ~/.bashrc в любом текстовом редакторе. Мы будем работать с nano:

nano ~/.bashrc

Найдите и удалите следующие две строки из файла:

...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

После удаления этих строк сохраните файл и выйдите из редактора. В nano нажмите CTRL + X, затем Y и ENTER.

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

rm -rf `rbenv root`

Перезайдите в систему, чтобы применить изменения.

Заключение

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

Читайте также: Сборка приложения Ruby on Rails

Tags: , , ,

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