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

Published by Leave your thoughts

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

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

Примечание: Репозиторий проекта можно найти на GitHub.

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

Требования

  • Настроенный сервер Debian 8 (инструкции по настройке можно найти здесь).
  • Пользователь с доступом к команде sudo.

1: Обновление и установка зависимостей

Сначала нужно обновить индекс пакетов системы.

sudo apt-get update

Теперь можно установить зависимости rbenv и Ruby:

sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

Чтобы клонировать rbenv с Git, нужно установить Git:

sudo apt-get install git-core

2: Установка rbenv

Теперь можно приступать к установке репозитория rbenv. Клонируйте репозиторий с Git.

Примечание: Выполните этот раздел в сессии пользователя, с помощью которого будет запускаться  Ruby.

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

Добавьте ~/.rbenv/bin в переменную $PATH, чтобы получить доступ к утилите командной строки rbenv. Чтобы загружать rbenv автоматически, добавьте ~/.rbenv/bin/rbenv init в файл ~/.bash_profile.

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

Чтобы обновить настройки, введите:

source ~/.bashrc

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

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 install позволяет упростить процесс установки новых версий Ruby. Чтобы получить доступ к этой команде, нужно сначала установить пакет ruby-build:

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

После этого можно приступать к установке Ruby.

3: Установка Ruby

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

Просмотрите список версий Ruby:

rbenv install -l

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

Выберите версию и установите её.

В данном примере показано, как установить Ruby 2.3.3.

rbenv install 2.3.3

Примечание: Чтобы установить другую версию, просто укажите в команде её номер.

Установка займёт некоторое время. После завершения установки на экране появится:

-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.bz2
Installing ruby-2.3.3...
Installed ruby-2.3.3 to /home/8host/.rbenv/versions/2.3.3

Примечание: Вместо 8host будет указано имя вашего пользователя.

Чтобы сделать только что установленную версию ruby версией по умолчанию, введите:

rbenv global 2.3.3

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

ruby -v

Команда должна вернуть:

ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

4: Установка и использование gem-ов

Gem-ы – это пакеты, с помощью которых можно расширить функции Ruby. Rails является gem-ом, потому его можно установить с помощью команды gem.

Отключите документацию gem-ов и установите gem bundler, который управляет зависимостями приложений.

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

Команда выдаст такой результат:

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

Команда gem env предоставляет сведения об окружении и настройке gem-ов. Чтобы узнать, куда устанавливаются gem-ы, запустите её с аргументом home.

$ gem env home

Команда вернёт:

/home/8host/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0

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

Чтобы установить Rails, введите:

gem install rails

Чтобы установить определённую версию Rails, просмотрите список доступных версий. К примеру, чтобы установить версию 4.2.7:

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

Инструмент rbenv создаёт каталог shim-ов, которые указывают на файлы текущей версии Ruby. Команда rehash позволяет поддерживать shim-ы новых версий Ruby. После установки новой версии или gem-а нужно запускать команду:

rbenv rehash

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

rails -v

6: Установка JavaScript Runtime

Некоторые функции Rails (например Asset Pipeline) зависят от JavaScript Runtime.

Установите Node.js, чтобы обеспечить эту функциональность.

Перейдите в каталог /tmp, проверьте сценарий Node.js и запустите less:

cd /tmp
\curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh
less nodejs.sh

Чтобы установить репозиторий NodeSource Node.js v6.x, введите:

cat /tmp/nodejs.sh | sudo -E bash -

Флаг -E сохранит существующие пользовательские переменные окружения.

Обновите индекс пакетов и установите Node.Js:

sudo apt-get install -y nodejs

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

Инструмент rbenv можно обновить вручную:

cd ~/.rbenv
git pull

8: Удаление Ruby

Если версия Ruby больше не нужна, её можно удалить. Так вы сможете поддерживать каталог ~/.rbenv/versions в порядке.

Для этого плагин ruby-build предоставляет подкоманду uninstall.

rbenv uninstall 2.1.3

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

Теперь нужно защитить приложение. Вместо стандартной БД sqlite3 в приложениях Ruby on Rails рекомендуется использовать более надёжную СУБД, например PostgreSQL или MySQL.

Если требования приложения возросли, читайте статью Масштабирование приложения Ruby on Rails.

Tags: , , , ,

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>