Ruby on Rails – это написанный в Ruby открытый веб-фреймворк, который благодаря своей простоте очень популярный среди стартапов.
Для установки Ruby on Rails нужно сначала установить Ruby. Но из-за некоторых особенностей своей системы пакетов Debian, как правило, поставляет устаревшую версию Ruby. Это руководство продемонстрирует безопасный способ установки последней версии Ruby и Ruby on Rails.
Установка rbenv
rbenv – это упрощенный менеджер версий Ruby, простая и удобная альтернатива RVM.
Для начала нужно установить несколько пакетов и библиотек, необходимых системе Debian для выполнения поставленной задачи. Для этого используйте систему пакетов Debian.
Обновите пакеты системы до последней доступной версии:
sudo apt-get update
Затем установите пакет git, который понадобится в дальнейшей работе:
sudo apt-get install git-core
rbenv не имеет инсталлятора, потому для его установки нужно обратиться к сайту Github. Клонируйте пакет в домашний каталог:
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Переменная PATH используется в Debian для поиска исполняемых файлов при запуске команды. Следовательно, в этой переменной нужно задать путь к исполняемым файлам rbenv. Это придется делать всякий раз, заходя в систему как текущий пользователь. Файл bashrc позволяет запускать эту команду автоматически.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
Внесите в bashrc следующую строку, которая обеспечит автозаполнение rbenv:
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
Перезапустите оболочку (достаточно открыть новую вкладку терминала). Чтобы проверить, все ли работает, запустите:
type rbenv
Результат выглядит примерно так:
rbenv is a function
Установка rbenv успешно завершена. Но это еще не все. Чтобы упростить установку ruby, нужно прежде установить пакет ruby-build – один из плагинов rbenv. Клонируйте его с Github.
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
После установки любого gem-а нужно запускать команду rbenv rehash. Но этого можно избежать при помощи другого плагина rbenv, который будет запускать нужную команду автоматически:
git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
Установка Ruby
Итак, после завершения установки rbenv можно приступить к установке Ruby. Но перед этим необходимо установить еще несколько важных пакетов.
apt-get install build-essential libssl-dev libcurl4-openssl-dev libreadline-dev -y
Чтобы просмотреть все доступные версии Ruby, используйте:
rbenv install --list
В данном руководстве используется версия 2.1.0. Чтобы установить ее, запустите:
rbenv install 2.1.0 -k
Флаг –k сохранит исходный код Ruby, который позже пригодится для сборки других gem-ов.
На данном этапе нужно определить, какая версия будет использоваться в качестве стандартной (то есть, какая из установленных версий будет запускаться при помощи команды ruby).
Примечание: при возникновении каких-либо ошибок при запуске данной команды очистите каталог ~/.rbenv/sources.
Чтобы версия использовалась глобально, запустите:
rbenv global 2.1.0
Готово! Установка ruby 2.1.0 успешно завершена.
Чтобы убедиться в этом, запросите текущую версию ruby:
ruby -v
Вывод выглядит примерно так:
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
Установка Ruby on Rails
Ruby on Rails (или RoR) предоставляет команду для создания базового приложения, которая создаст все необходимые каталоги, установит зависимости gem-ов и т.д. Но прежде чем запускать ее, нужно установить некоторые пакеты.
По умолчанию RoR использует базу данных sqlite. Чтобы при ее использовании не возникало ошибок, необходимо установит пакеты sqlite для Debian.
sudo apt-get install sqlite3 libsqlite3-dev
RoR также требует JavaScript runtime. Его можно обеспечить несколькими способами, но в данном руководстве будет использоваться nodejs с Debian Backports.
Для начала добавьте репозитории Debian Backports:
- Откройте файл, в котором определяются репозитории Debian:
sudo nano /etc/apt/sources.list
- Внесите в файл следующие строки:
deb http://ftp.us.debian.org/debian/ wheezy-backports main
deb-src http://ftp.us.debian.org/debian/ wheezy-backports main
- Как всегда, обновите список пакетов:
sudo apt-get -t wheezy-backports install nodejs
Для установки nodejs используйте:
sudo apt-get -t wheezy-backports install nodejs
Затем установите Ruby on Rails при помощи команды:
gem install rails
Создание приложения Ruby on Rails
Теперь пора попробовать создать тестовое приложение RoR. Следующая команда создаст его (замените mynewapp любым удобным именем):
rails new mynewapp
Эта команда автоматически установит необходимые gem-ы. После этого перейдите в каталог приложения:
cd mynewapp
Выполните следующую команду для запуска приложения:
rails s
Откройте браузер и перейдите по:
http://your_ip_or_domain:3000
На странице появится сообщение Welcome aboard. Чтобы получить сведения о среде приложения, нажмите «About your application’s environment».
Готово!