Tutorial

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

Published on January 7, 2020
Русский
Установка Ruby on Rails с помощью rbenv в Ubuntu 18.04

Введение

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

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

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

В этом обучающем модуле вы научитесь выполнять установку Ruby и Rails с помощью rbenv.

Предварительные требования

Для данного обучающего модуля вам потребуется следующее:

Шаг 1 – Установка rbenv и зависимостей

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

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

  1. sudo apt update

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

  1. sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

После загрузки зависимостей вы можете установить саму утилиту rbenv. Клонируйте репозиторий rbenv из GitHub в каталог ~/.rbenv:

  1. git clone https://github.com/rbenv/rbenv.git ~/.rbenv

Затем добавьте ~/.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 }

Затем установите плагин [ruby-build] (https://github.com/rbenv/ruby-build). Этот плагин добавляет команду rbenv install, упрощающую процесс установки новых версий Ruby:

  1. git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Итак, вы установили rbenv и ruby-build. Теперь выполним установку Ruby.

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

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

  1. rbenv install -l

Эта команда должна вывести длинный список версий, которые вы можете установить.

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

  1. rbenv install 2.5.1

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

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

  1. rbenv global 2.5.1

Проверьте правильность установки Ruby, проверив номер версии:

  1. ruby -v

Если вы установили версию Ruby 2.5.1, результат выполнения этой команды должен выглядеть примерно так:

Output
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

Чтобы установить и использовать другую версию Ruby, запустите команду rbenv с другим номером версии, например, rbenv install 2.3.0 или rbenv global 2.3.0.

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

Шаг 3 — Работа с Gems

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

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

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

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

  1. gem install bundler

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

Output
Fetching: bundler-1.16.2.gem (100%) Successfully installed bundler-1.16.2 1 gem installed

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

  1. gem env home

Результат будет выглядеть примерно так:

/home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0

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

Шаг 4 – Установка Rails

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

  1. gem install rails -v 5.2.0

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

Output
... Successfully installed rails-5.2.0 38 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 сохраняет shims в этом каталоге для соответствия всех команд Ruby во всех установленных версиях Ruby на вашем сервере. При установке новой версии Ruby или элемента gem, который предоставляет команды, наподобие Rails, нужно использовать следующую команду:

  1. rbenv rehash

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

  1. rails -v

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

Output
Rails 5.2.0

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

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

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

  1. cd ~/.rbenv
  2. git pull

Это обеспечит использование последней актуальной версии rbenv.

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

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

Например, следующая команда удалит версию Ruby 2.1.3:

  1. rbenv uninstall 2.1.3

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

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

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

Для этого вначале откройте в редакторе файл ~/.bashrc:

  1. nano ~/.bashrc

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

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

Сохраните файл и выйдите из редактора.

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

 rm -rf `rbenv root`

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

Заключение

В этом обучающем модуле вы установили rbenv и Ruby on Rails. Теперь вы можете узнать больше о повышении безопасности этих сред.

Узнайте, как использовать Ruby on Rails с PostgreSQL или MySQL вместо базы данных по умолчанию sqlite3, чтобы обеспечить дополнительную масштабируемость, централизацию и стабильность ваших приложений. По мере роста ваших потребностей вы также можете изучить масштабирование приложений Ruby on Rails на нескольких серверах.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors


Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.