Ruby on Rails (RoR) — это платформа для веб-приложений с открытым исходным кодом, опубликованная под лицензией MIT. Она является серверным веб-приложением и следует концепции MVC (Model-View-Controller). Rails предоставляет заготовки для создания баз данных, веб-служб и веб-страниц. Более 3000 разработчиков внесли свой вклад в разработку среды Rails. Существует множество известных веб-приложений созданных на основе Rails, таких как Github, Airbnb, Soundcloud и т. д.
В этой статье я покажу, как установить Ruby on Rails на Ubuntu 18.04 LTS. Также вы узнаете, как настроить Rails с базой данных PostgreSQL, и как создать первый проект Rails.
Содержание статьи:
Установка ruby on rails на Ubuntu 18.04
Шаг 1. Установка Ruby Version Manager
RVM (Ruby Version Manager) — это инструмент командной строки, основанный на Bash и Ruby и предназначенный для управления установкой ruby. RVM позволяет устанавливать и настраивать несколько версий ruby в одной системе.
Сначала установим пакеты rvm, используя скрипт установщика. Добавим ключ rvm в систему:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB
Установите стабильную версию rvm, выполните команду ниже:
curl -sSL https://get.rvm.io | bash -s stable --ruby
Команда автоматически установит необходимые пакеты и инсталлирует последнюю стабильную версию rvm. После завершения установки выполните следующую команду:
source /usr/local/rvm/scripts/rvm
Теперь мы можно использовать команду rvm для управления версией ruby:
rvm version
Шаг 2. Установка Ruby последней версии
Последней версией ruby на данный момент считается Ruby 2.5.1, и она будет автоматически установлена во время инсталляции rvm, если в системе нет пакета ruby. Далее мы настроим версию ruby в операционной системе Ubuntu. Обновите rvm до последней стабильной версии.
rvm get stable --autolibs=enable
usermod -a -G rvm root
Теперь проверим все доступные версии ruby:
rvm list known
Мы получим много доступных версий ruby и установим последнюю стабильную версию Ruby с помощью команды rvm, как показано ниже.
rvm install ruby-2.5.1
После завершения установки сделайте ruby 2.5.1 версией по умолчанию:
rvm --default use ruby-2.5.1
Можете проверить версию ruby:
ruby -v
Теперь версия 2.5.1 используется по умолчанию.
Шаг 3 - Установка Nodejs
Ruby on Rails требует времени для компиляции конвейера ресурсов Rails на JavaScript. Для разработчиков на Rails в Ubuntu Linux лучше всего установить и использовать Nodejs в качестве среды выполнения Javascript. Добавим репозиторий nodejs Node в систему.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
После этого установите последнюю версию nodejs 10 и дополнительные пакеты, используя команду apt.
sudo apt install -y nodejs
sudo apt install gcc g++ make
Шаг 4 - Настройка Ruby Gem
RubyGems - менеджер пакетов Ruby, поставляемый в виде инструмента командной строки gem. Он автоматически устанавливается при установке Ruby в системе. Обновим gem до последней версии и проверим его:
gem update --system
gem -v
Замечание: Можно отключить установку документации по каждому пакету ruby. Просто выполните:
echo "gem: --no-document" >> ~/.gemrc
Шаг 5. Установка Ruby on Rails
В этом руководстве мы будем использовать последнюю стабильную версию Ruby on Rails 5.2.0. Установите Rails Ubuntu с помощью менеджера пакетов gem ruby командой:
gem install rails -v 5.2.0
После завершения установки можете проверить версию rails.
rails -v
Шаг 6. Настройка PostgreSQL для Rails
По умолчанию Ruby on Rails использует базу данных SQLite. Кроме этого он поддерживает множество систем баз данных, включая MySQL, SQLite и PostgreSQL. Мы будем использовать PostgreSQL. Установите базу данных PostgreSQL, используя команду apt:
sudo apt install postgresql postgresql-contrib libpq-dev -y
После завершения установки запустите службу Postgres и разрешите ей каждый раз запускаться при загрузке системы:
systemctl start postgresql
systemctl enable postgresql
Далее настройте пароль для пользователя postgres и создайте пользователя для установки Rails. Для этого войдите в систему от имени пользователя 'postgres' и запустите оболочку postgres:
su - postgres
psql
Для изменения пароля postgres выполните:
Теперь создайте нового пользователя для установки rails, например, с именем rails_dev, с привилегией создания базы данных и паролем «aqwe123». Для этого выполните такой запрос:
Теперь проверим все доступные роли в системе.
Вы увидите пользователя rails_dev в списке.
На этом установка и настройка PostgreSQL для Rails Development завершена.
Шаг 7. Первое приложение Rails
Ruby on Rails имеет команду rails, предназначенную для настройки вашего приложения. Создадим новый проект myapp с базой данных по умолчанию PostgreSQL, выполнив команду rails, как показано ниже.
rails new myapp -d postgresql
После выполнения команды появится каталог «myapp», перейдите в этот каталог и отредактируйте файл конфигурации базы данных database.yml с помощью редактора vim.
cd myapp/
vim config/database.yml
В этом файле есть такие разделы: development, testing и production. В разделе development раскомментируйте строки указанные ниже и измените их значение на данные, которые вы использовали для создания пользователя postgresql.
Для раздела testing сделайте аналогичную операцию. Сохраните изменения и закройте редактор. Теперь создайте базу данных и убедитесь что нет ошибок:
rails db:setup
rails db:migrate
Когда все настройки завершены, запустите веб-сервер puma rails, используя приведенную ниже команду:
rails s -b 192.168.1.10 -p 8080
Первый проект rails будет запущен на IP-адресе «192.168.1.10» с портом 8080.
Откройте веб-браузер и введите IP-адрес сервера в адресной строке:
Вы получите домашнюю страницу проекта rails по умолчанию, как показано ниже.
Далее создадим простое CRUD приложение с базой данных PostgreSQL на Rails. Выполните такие команды:
rails g scaffold Post title:string body:text
rake db:migrate
И снова запустите сервер puma:
rails s -b 192.168.1.10 -p 8080
А потом откройте такой адрес в браузере:
Мы получили простую форму CRUD:
На этом установка Ruby on Rails на Ubuntu 18.04 с базой данных Postgresql успешно завершена.
На текущий момент стабильные релизы ruby: 2.6.3 и 2.5.5. Статья порядком протухла. В мире opensource время быстротечно. Можно конечно откоментировать пару косяков допущенных автором (не переводчиком) по установке ПО, но они в сущности незначительны, просто требуют лишних и ненужных телодвижений, поэтому умолчим. Для поисковиков сойдёт. Правильной дорогой идёте... ruby - актуальна и востребована.
"В мире opensource время быстротечно" - да Вы что? )))) Что, конкретно Вы имели в виду?
Спасибо конечно.. Но для кого эта статья?
Профессионалы и так это знает, а для новичков - слишком кратко! Многие команды не понятны.
Все же хотелось бы видеть более подробные статьи с детальным описанием и объяснением команд, а не просто перевод с зарубежного ресурса!
Спасибо!
Вы слишком многого хотите от самодеятельного сайта, к тому же круг тем, выбранных админом для освещения, слишком широк. У него получится только по верхушкам пройти, как курочка ножкой... Если вам нужен ruby, идите на официальный сайт, там куча документации, разбирайтесь, учитесь, пишите, отлаживайте, тестируйте. Потом вернётесь, расскажете нам в более подробной, профессионально написанной статье, с детальным описанием действий и выполненных команд. Ждём! :))))
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
иначе на минте не встало
Коллеги. Везде рассказывается про установку рельс, а как их собственно удалить-то? Можно снести систему, но это не всегда хорошо.
Спасибо!