Установка Ruby on Rails с помощью rbenv в Debian 8
Debian, Ruby | Комментировать запись
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: Debian 8, Rails, rbenv, Ruby, Ruby on Rails