Ruby on Rails – один из самых популярных стеков для разработки сайтов и приложений, который состоит из языка программирования Ruby и фреймворка Rails.
Ruby и Rails можно быстро установить с помощью инструмента командной строки RVM (Ruby Version Manager, менеджер версий Ruby). RVM позволяет управлять версиями Ruby, работать в нескольких окружениях Ruby и легко переключать их.
Примечание: Репозиторий RVM можно найти на GitHub.
Это руководство поможет установить RVM на сервер Ubuntu 16.04, а затем загрузить и установить последнюю стабильную версию Ruby и Rails с помощью этого инструмента.
Требования
- Предварительно настроенный сервер Ubuntu 16.04 (руководство по настройке можно найти по этой ссылке).
- Пользователь с доступом к команде sudo.
Установка RVM
Сначала нужно получить открытый ключ с помощью команды gpg. В данном случае это ключ проекта RVM, который используется для подписи всех релизов. С помощью ключа RVM можно подтвердить подлинность загружаемого пакета.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Перейдите в каталог /tmp и загрузите сценарий RVM в файл:
cd /tmp
С помощью команды curl загрузите установочный сценарий RVM с сайта проекта. Обратный слеш в начале команды запустит обычную команду curl, а не её алиас.
Флаг –s включает автоматический режим, -S переопределяет некоторые настройки системы, чтобы в случае ошибки команда curl смогла вывести сообщение. Флаг –L настраивает поддержку переадресации, а флаг –о перенаправляет стандартный вывод в файл.
\curl -sSL https://get.rvm.io -o rvm.sh
Загрузив сценарий, просмотрите его содержимое:
less /tmp/rvm.sh
Перенаправьте сценарий в bash, чтобы установить последнюю стабильную версию Rails, которая, в свою очередь, загрузит последнюю стабильную версию Ruby.
cat /tmp/rvm.sh | bash -s stable --rails
Примечание: Чтобы узнать больше о потоках и их перенаправлении, читайте эту статью.
Во время установки будет запрошен пароль текущего системного пользователя. После установки нужно запустить команду:
rvm
Теперь на сервере есть настроенное окружение Ruby on Rails.
Как установить конкретную версию Ruby и Rails с помощью RVM?
В некоторых случаях приложение требует определённой версии Ruby или Rails вместо последней стабильной версии. Такую установку тоже можно выполнить с помощью RVM.
Сначала нужно узнать, какие версии Ruby доступны:
rvm list known
Чтобы установить конкретную версию Ruby с помощью RVM, используйте такую команду:
rvm install ruby_version
Примечание: Вместо ruby_version нужно указать версию Ruby (например, ruby-2.3.0 или просто 2.3.0).
После установки можно просмотреть список версий Ruby, установленных на данную машину.
rvm list
Версии Ruby можно переключать:
rvm use ruby_version
Поскольку Rails является gem-ом, вы можете установить любую версию Rails с помощью команды gem. Чтобы просмотреть список валидных версий Rails, введите:
gem search '^rails$' --all
Чтобы установить выбранную версию Rails, введите:
gem install rails -v rails_version
Примечание: В этой команде нужно указать только номер версии, например, 4.2.7, а не rails_4.2.7.
С помощью gemset-ов можно использовать вместе разные версии Rails и Ruby. Это делается с помощью команды gem.
rvm gemset create gemset_name # create a gemset
rvm ruby_version@gemset_name # specify Ruby version and our new gemset
Gemset-ы позволяют создавать полнофункциональные окружения для gem-ов, а также настраивать неограниченное количество окружений для каждой версии Ruby.
Установка JavaScript Runtime
Некоторые функции Rails (например Asset Pipeline) зависят от JavaScript Runtime.
Установите Node.js, чтобы обеспечить эту функциональность.
Как и во время установки RVM, перейдите в каталог /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 update
sudo apt-get install -y nodejs
Теперь вы знакомы с основами работы с RVM, можете установить Ruby on Rails и управлять различными окружениями Ruby. Чтобы узнать больше о RVM, читайте эту статью. Вместо стандартной БД sqlite3 в приложениях Ruby on Rails рекомендуется использовать более надёжную СУБД, например PostgreSQL или MySQL. Если требования приложения возросли, читайте статью Масштабирование приложения Ruby on Rails.