Установка Ruby on Rails на сервер Debian 7.0 при помощи RVM

Ruby on Rails – это один из наиболее популярных полноценных фреймворков для простой разработки и быстрого запуска приложения или сайта. Существует несколько способов установки Ruby on Rails на сервер Debian. Данное руководство продемонстрирует лишь один из них – установку при помощи менеджера версий RVM (Ruby Version Manager).

RVM позволяет без труда управлять  несколькими версиями Ruby и быстро обновлять установленные версии до более новых.

1: Установка RVM

Поскольку репозитории Debian могут содержать устаревшую версию программы, рекомендуется устанавливать RVM с сайта проекта.

Для установки зависимостей своих программ RVM использует стандартный менеджер пакетов, потому необходимо обновить его репозиторий:

sudo apt-get update

Затем нужно установить RVM, Ruby и Rails; это можно сделать при помощи одной команды. При этом подразумевается, что установка будет выполнена для одного пользователя. Выполните следующую команду (root-привилегии необязательны):

\curl -L https://get.rvm.io | bash -s stable --rails

Выполнение команды займет некоторое время. После завершения установки нужно сообщить окружению о новой установке RVM. Это делается автоматически в новом окне терминала:

source ~/.rvm/scripts/rvm

2: Окружение Ruby

Получить информацию об окружении Ruby (узнать текущую версию, пути к приложениям и серверам) можно при помощи RVM.

Для этого просто запустите команду info:

rvm info
ruby-2.0.0-p247:
system:
uname:       "Linux RVM 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux"
system:      "debian/7/x86_64"
bash:        "/bin/bash => GNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu)"
zsh:         " => not installed"
. . .

Можно также получить информацию о текущей и других доступных версиях Ruby; для этого запустите команду:

rvm list
rvm rubies
=* ruby-2.0.0-p247 [ x86_64 ] # => - current
# =* - current && default
#  * - default

Чтобы узнать, какие еще версии Ruby можно установить, запустите:

rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420] [ruby-]1.8.7[-p374] [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p320] [ruby-]1.9.3[-p448] [ruby-]2.0.0-p195
[ruby-]2.0.0[-p247] . . .

Чтобы установить необходимую версию Ruby, введите:

rvm install version_of_ruby

Чтобы переключиться на другую версию Ruby, наберите:

rvm use version_of_ruby

3: Создание приложения Rails

Чтобы убедиться, что фреймворк Rails установлен верно, создайте пример приложения (оно будет помещено в домашний каталог).

Чтобы создать приложение по имени sample, запустите:

cd ~
rails new sample

Для запуска сервера разработки Rails нужно перейти в правильное окружение. Для этого откройте каталог приложения.

cd sample

Теперь попробуйте запустить сервер, но скорее всего команда не будет выполнена корректно.

rails s
/home/demo/.rvm/gems/ruby-2.0.0-p247/gems/execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /home/demo/.rvm/gems/ruby-2.0.0-p247/gems/execjs-2.0.2/lib/execjs.rb:5:in `<module:ExecJS>'

Дело в том, что Rails не может найти исполняемые файлы JavaScript. Установите два gem-а, от которых зависит сервер, в окружение приложения.

Отредактируйте файл Gemfile, который содержит требования приложения:

nano Gemfile

Внесите в конец файла эти две строки:

gem 'execjs'
gem 'therubyracer'

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

Теперь нужно запустить команду, которая установит все зависимости приложения:

bundle install

В завершение снова запустите сервер разработки Rails:

rails s

Направьте браузер на IP-адрес сервера и порт 3000:

IP_или_домен:3000

При этом появится стандартная приветственная страница Rails, которая сообщает:

Welcome aboard
You’re riding Ruby on Rails!

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

Итоги

Как уже говорилось, Ruby and Rails можно установить на Debian несколькими способами. Но описанный в данной статье способ установки является наиболее распространенным благодаря гибкости и надежному разделению приложений.

RVM обладает большим количеством дополнительных функций, позволяющих систематизировать и управлять всеми средами разработки. На сайте проекта можно найти отличную документацию по работе с этим инструментом.

Tags: , , , , , ,

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