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