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

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

Ruby и Rails можно быстро установить с помощью менеджера версий RVM (Ruby Version Manager), который также позволяет управлять несколькими средами Ruby на одном сервере.

Данное руководство поможет установить RVM на сервер Debian 8, а затем с помощью этого менеджера установить стабильную версию Ruby on Rails.

Требования

  • Сервер Debian 8 (руководство по начальной настройке сервера можно найти здесь).
  • Пользователь с доступом к sudo.
  • Предварительно установленная платформа Node.js (инструкции по установке можно найти здесь).

Установка Ruby on Rails

Чтобы установить Ruby on Rails с помощью RVM, нужно запустить сценарий установки, который можно найти на сайте RVM.

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

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

Команда выведет:

gpg: directory `/home/8host/.gnupg' created
gpg: new configuration file `/home/8host/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/8host/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/8host/.gnupg/secring.gpg' created
gpg: keyring `/home/8host/.gnupg/pubring.gpg' created
gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net
gpg: /home/8host/.gnupg/trustdb.gpg: trustdb created
gpg: key D39DC0E3: public key "Michal Papis (RVM signing) <mpapis@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Затем загрузите сценарий установки RVM с сайта проекта с помощью команды curl. Слеш в начале команды позволяет обойти псевдонимы команды curl.

\curl -sSL https://get.rvm.io -o rvm.sh

Флаг –s запускает команду в немом режиме, флаг –S будет выводить сообщения об ошибках, если такие возникнут. Флаг –L выполняет все перенаправления, -o вместо стандартного вывода направляет результат в файл.

Прежде чем запустить сценарий, вы можете ознакомиться с его содержимым.

nano rvm.sh

После этого можно перенаправить сценарий в bash, чтобы установить последнюю стабильную версию Rails, вместе с которой будет загружен стабильный релиз Ruby.

cat rvm.sh | bash -s stable --rails

Читайте также: Перенаправление ввода-вывода в Linux

Во время установки будет запрошен пароль текущего пользователя.

...
Checking requirements for debian.
Installing requirements for debian.
Updating system 8host password required for 'apt-get --quiet --yes update':

Введите пароль, и RVM начнёт установку инструментов, необходимых для компиляции Ruby.

...
Installing required packages: gawk, g++, gcc, make, libc6-dev, libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, pkg-config, libffi-dev
Requirements installation successful.

После этого менеджер загрузит последнюю версию Ruby, фреймворк Ruby on Rails и их зависимости.

...
ruby-2.3.0 - #configure
ruby-2.3.0 - #download
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 24.2M  100 24.2M    0     0  31.4M      0 --:--:-- --:--:-- --:--:-- 31.4M
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.3.0 - #validate archive
ruby-2.3.0 - #extract
ruby-2.3.0 - #validate binary
ruby-2.3.0 - #setup
ruby-2.3.0 - #gemset created /home/8host/.rvm/gems/ruby-2.3.0@global
ruby-2.3.0 - #importing gemset /home/8host/.rvm/gemsets/global.gems..............................
ruby-2.3.0 - #generating global wrappers........
ruby-2.3.0 - #gemset created /home/8host/.rvm/gems/ruby-2.3.0
ruby-2.3.0 - #importing gemsetfile /home/8host/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.3.0 - #generating default wrappers........
Creating alias default for ruby-2.3.0...
...
36 gems installed
* To start using RVM you need to run `source /home/8host/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
* To start using rails you need to run `rails new <project_dir>`.

После окончания установки выполните команду source, чтобы получить доступ к сценариям RVM в текущей сессии:

source ~/.rvm/scripts/rvm

Убедитесь, что установка прошла успешно:

which ruby

Вы увидите такой вывод:

/home/8host/.rvm/rubies/ruby-2.3.0/bin/ruby

Среда Ruby on Rails готова к использованию.

Установка определенной версии Ruby и Rails

Если приложение привязано к определённой версии Ruby и ему не подходит последний релиз, вы можете установить эту версию с  помощью RVM. Для начала нужно обновить RVM, чтобы получить актуальный список доступных версий Ruby.

rvm get stable

Запросите список доступных версий Ruby:

rvm list known

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

rvm install ruby_version

Примечание: Вместо ruby_version укажите необходимую версию Ruby (например, ruby-2.3.0 или просто 2.3.0).

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

rvm list

Переключаться между версиями Ruby можно с помощью команды:

rvm use ruby_version

Поскольку Rails является gem-ом, вы можете установить несколько версий Rails с помощью команды gem. Просмотрите доступные версии Rails:

gem search '^rails$' --all

Затем установите необходимую версию.

gem install rails -v rails_version

Примечание: Вместо rails_version укажите номер необходимой версии Rails (например, 4.2.7).

Каждая версия Ruby может использовать несколько версий Rails. Для этого нужно создать gemset и установить Rails с помощью команды gem:

rvm gemset create gemset_name # create a gemset
rvm ruby_version@gemset_name  # specify Ruby version and our new gemset
gem install rails -v rails_version

Gemset-ы создают полноценную среду для приложения Ruby. Также с их помощью можно настроить несколько сред для каждой установленной версии Ruby. Это позволяет протестировать приложение в нескольких разных средах и быстро обнаружить ошибки.

Заключение

Установив RVM и Ruby on Rails, вы можете приступать к разработке или развёртыванию приложений.

Читайте также:

Tags: , , ,

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