Всем привет!
Хочу поделиться с вами своим опытом в изучении Ruby и фреймверка для веб разработки Ruby on Rails.
Ruby on Rails – один из самых популярных стеков для разработки сайтов и приложений, который состоит из языка программирования Ruby и фреймворка Rails.
Ruby и Rails можно быстро установить с помощью инструмента командной строки RVM (Ruby Version Manager, менеджер версий Ruby). RVM позволяет управлять версиями Ruby, работать в нескольких окружениях Ruby и легко переключать их.
Наш первый урок будет посвящен настройке окружения для разработки в ОС Linux. Использовать в процессе обучения будем Ubuntu Linux 16.04 LTS.
Установка 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 и 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
Вот и всё! Теперь вы умеете настраивать окружение для работы с Ruby и Ruby on Rails.
Поделиться с друзьями
Комментарии (10)
k2m30
22.04.2017 20:53Зачем rvm для hello world? Что там готовить? apt install или brew install ruby
Надоело — снес точно также.
Зачем чайнику/новичку еще грабли с разными версиями? Мало там проблем и без этого?valerasergeevich
22.04.2017 20:59-1Начинающего слудует сразу научить правильной рабоет с инструментами. А в дальнейшем, будут уроки по конфигурированию различных версий ruby с определенными версиями ruby gems. Так что я считаю обоснованным погружение в правильную работу с инструментарием.
ZurgInq
Зачем этот hello world который есть на сайте rvm? Как насчёт альтернатив rvm? Статья называется изучаем ruby, а в конце вдруг всплыл rails, но ruby != rails. И наконец, для rails совсем не обязательно тащить node.js.
valerasergeevich
Данная статья показывает как установить ruby, но так же подготовить к rails. Так как после курса по ruby, будет курс по rails. А альтернатива rvm есть, например, rbenv. Но мне не нравиться с ним работать. Может в будущем напишу статью и про его использование. Если будет интересно читателям.
ZurgInq
Я понимаю, что вы ведёте к Rails. Но ваш подход слишком однобокий, с первых строк вы пытаетесь всучить читателю инструменты которые ему совсем не нужны, что бы изучить ruby или rails. И было бы честнее, если бы статья называлась «Изучаем Ruby On Rails». Так как, повторюсь, что бы писать на ruby (и rails) совсем не обязательно ставить rvm и целую node.js.
valerasergeevich
По своему опыту, лучше сразу подготовить начинащего к использованию «правельных инструментов», на мой взгляд. А на счет того, что rvm ставить не обязательно, я с вами не соглашусь. RVM отличный инструмент для контроля версионности ruby, а так же упревления зависимости ruby gems. Так что я выбрал такой подход.
valerasergeevich
В rails есть gems, для работы которых необходим node.js. Особенно есть используешь Rails 5.0
ZurgInq
И какой это gem? На всякий случай, в самой документации Rails сказано, что вместо node.js можно поставить гем therubyracer.
LuckySB
а что такое gems?
Очень продуктивная статья ниочем.
valerasergeevich
gems это набор библиотек для ruby. например rails и sinatra являются gemами.