Поиск по сайту:

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


Введение

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 22.04, настроенный в соответствии с руководством по первоначальной настройке сервера Ubuntu 22.04, включая пользователя без полномочий root sudo и брандмауэр.
  • Node.js установлен с использованием официального PPA, как описано в варианте 2 инструкции по установке Node.js в Ubuntu 22.04. Некоторые функции Rails, такие как Asset Pipeline, зависят от среды выполнения JavaScript. Node.js предоставляет эту функцию.

Шаг 1 — Установите rbenv и зависимости

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

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

  1. sudo apt update

Затем установите зависимости, необходимые для установки Ruby:

  1. 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 для запуска установщика:

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

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

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

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

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

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

  1. source ~/.bashrc

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

  1. type rbenv

В окне вашего терминала отобразится следующее:

Output
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:

  1. rbenv install -l

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

Output
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:

  1. rbenv install 3.2.0

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

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

  1. rbenv global 3.2.0

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

  1. ruby -v

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

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

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

Шаг 3 – Работа с драгоценными камнями

Gems — это способ распространения библиотек Ruby. Вы используете команду gem для управления этими драгоценными камнями и используете эту команду для установки Rails.

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

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

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

  1. gem install bundler

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

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

Вы можете использовать команду gem env (подкоманда env является сокращением от environment), чтобы узнать больше об окружении и настройке драгоценных камней. Вы можете подтвердить, где установлены драгоценные камни, используя аргумент home, как показано ниже:

  1. gem env home

Вы получите вывод, подобный этому:

Output
/home/sammy/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0

После того, как вы настроили драгоценные камни, вы можете установить Rails.

Шаг 4 – Установка рельсов

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

  1. gem install rails -v 7.0.4

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

Output
... Successfully installed rails-7.0.4 35 gems installed

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

  1. gem search '^rails$' --all
  2. gem install rails -v 4.2.7

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

  1. gem install rails

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

  1. rbenv rehash

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

  1. rails -v

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

Output
Rails 7.0.4

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

Шаг 5 – Обновление rbenv

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

  1. cd ~/.rbenv
  2. git pull

Это гарантирует, что вы используете самую последнюю доступную версию rbenv.

Шаг 6 — Удаление версий Ruby

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

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

  1. rbenv uninstall 3.2.0

С помощью команды rbenv uninstall вы можете очистить старые версии Ruby, чтобы у вас не было установлено больше, чем вы используете в настоящее время.

Шаг 7 – Удаление rbenv

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

Для этого откройте файл ~/.bashrc в предпочитаемом вами текстовом редакторе. В этом примере мы будем использовать nano:

  1. nano ~/.bashrc

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

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

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

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

  1. rm -rf `rbenv root`

Выйдите из системы и снова войдите, чтобы применить изменения к вашей оболочке.

Заключение

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