Поиск по сайту:

Как установить Ruby on Rails с RVM на Ubuntu 16.04


Введение

Ruby on Rails — один из самых популярных стеков приложений для разработчиков, которые хотят создавать сайты и веб-приложения. Язык программирования Ruby в сочетании со средой разработки Rails упрощает разработку приложений.

Вы можете легко установить Ruby и Rails с помощью инструмента командной строки RVM (Ruby Version Manager). RVM также позволит вам управлять несколькими средами Ruby и работать с ними, а также позволит вам переключаться между ними. Репозиторий проекта находится на [GitHub] (https://github.com/rvm/rvm).

В этом руководстве мы установим RVM на сервер Ubuntu 16.04, а затем используем его для установки стабильной версии Ruby и Rails.

## Предпосылки

Это руководство проведет вас через процесс установки Ruby on Rails через RVM. Чтобы следовать этому руководству, вам нужен сервер Ubuntu 16.04 с [пользователем без полномочий root] (https://linux-console.net/community/tutorials/initial-server-setup-with-ubuntu-16-04).

##Монтаж

Самый быстрый способ установить Ruby on Rails с RVM — запустить следующие команды от имени обычного пользователя. Вам будет предложено ввести пароль вашего обычного пользователя как часть процедуры установки.

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

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

Давайте теперь перейдем в доступное для записи место, такое как каталог /tmp, а затем загрузим сценарий RVM в файл:

  1. cd /tmp

Мы будем использовать команду curl, чтобы загрузить скрипт установки RVM с веб-сайта проекта. Обратная косая черта перед командой гарантирует, что мы используем обычную команду curl, а не какую-либо измененную версию с псевдонимом.

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

Соединяя все эти элементы вместе, наша полная команда будет выглядеть так:

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

После загрузки, если вы хотите проверить содержимое скрипта перед его применением, запустите:

  1. less /tmp/rvm.sh

Затем мы можем [направить] (https://linux-console.net/community/tutorials/an-introduction-to-linux-i-o-redirection#pipes) на bash для установки последней стабильной версии. Версия Rails, которая также будет включать связанную с ней последнюю стабильную версию Ruby.

  1. cat /tmp/rvm.sh | bash -s stable --rails

В процессе установки вам будет предложено ввести пароль вашего обычного пользователя. Когда установка будет завершена, получите сценарии RVM из каталога, в котором они были установлены, который обычно находится в вашем каталоге home/username.

  1. source /home/sammy/.rvm/scripts/rvm

Теперь у вас должна быть настроена полная среда Ruby on Rails.

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

Если вам нужно установить определенную версию Ruby для вашего приложения, а не только самую последнюю, вы можете сделать это с помощью RVM. Сначала проверьте, какие версии Ruby доступны, перечислив их:

  1. rvm list known

Затем установите нужную версию Ruby через RVM, где ruby_version можно ввести как ruby-2.3.0, например, или просто 2.3.0:

  1. rvm install ruby_version

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

  1. rvm list

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

  1. rvm use ruby_version

Поскольку Rails — это драгоценный камень, мы также можем установить различные версии Rails с помощью команды gem. Давайте сначала перечислим допустимые версии Rails, выполнив поиск:

  1. gem search '^rails$' --all

Далее мы можем установить необходимую нам версию Rails. Обратите внимание, что rails_version будет ссылаться только на номер версии, как в 4.2.7.

  1. gem install rails -v rails_version

Мы можем использовать разные версии Rails с каждым Ruby, создавая гемсеты и затем устанавливая Rails внутри тех, которые используют обычные команды gem:

  1. rvm gemset create gemset_name # create a gemset
  2. rvm ruby_version@gemset_name # specify Ruby version and our new gemset

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

##Установить среду выполнения JavaScript

Некоторые функции Rails, такие как Asset Pipeline, зависят от среды выполнения JavaScript. Мы установим Node.js через apt-get, чтобы обеспечить эту функциональность.

Как и в случае со скриптом RVM, мы можем перейти в доступный для записи каталог, проверить скрипт Node.js, выведя его в файл, а затем прочитать его с помощью less:

  1. cd /tmp
  2. \curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh
  3. less nodejs.sh

Когда нас устроит сценарий Node.js, мы можем установить репозиторий NodeSource Node.js v6.x:

  1. cat /tmp/nodejs.sh | sudo -E bash -

Используемый здесь флаг -E сохранит существующие переменные среды пользователя.

Теперь мы можем обновить apt-get и использовать его для установки Node.Js:

  1. sudo apt-get update
  2. sudo apt-get install -y nodejs

На этом этапе вы можете приступить к тестированию установки Ruby on Rails и приступить к разработке веб-приложений.

##Подробнее

Здесь мы рассмотрели основы установки RVM и Ruby on Rails, чтобы вы могли использовать несколько сред Ruby. Для ваших следующих шагов вы можете узнать больше о [работе с RVM и о том, как использовать RVM для управления установками Ruby] (https://linux-console.net/community/tutorials/how-to-scale-ruby-on- rails-applications-over-multiple-droplets-part-1).