Установка Rails: шаги

Мы сосредоточимся на установке Ruby, Rails и обеспечении удобной работы PostgreSQL с Rails и Bash в Windows 10. Мы будем использовать подсистему Linux в Windows 10. В этой статье не будет подробно рассказываться об установке подсистемы Linux и запуске и запуске Bash. , на эту тему уже есть отличные статьи. Вот руководство Microsoft по установке Подсистемы Linux.

Давайте продолжим установку Ruby, Rails и установку и запуск PostgreSQL, чтобы мы могли использовать Windows 10 в качестве среды разработки для веб-разработки на Rails.

Установка необходимых компонентов

Сначала нам нужно убедиться, что текущая установка Bash в Windows обновлена.

Совет для профессионалов: если вы когда-нибудь столкнетесь с проблемой или вам просто нужно выяснить, какую команду или процедуру вам нужно выполнить для конкретных задач в отношении Bash в Windows, вы можете просто ввести вопрос в Google и сослаться на Ubuntu. . Bash для Windows построен на базе Ubuntu и в сотрудничестве с ней, что значительно упрощает устранение неполадок (специфические для Linux проблемы и процедуры).

Давайте обновим и установим некоторые предварительные требования.

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev postgresql-client-common postgresql-client libpq-dev

Терминал, скорее всего, предложит вам убедиться, что можно установить определенный пакет, просто введите Y и нажмите Enter.

After this operation, 6,082 kB of additional disk space will be used. Do you want to continue? [Y/n] Y

Это должно покрыть все предварительные условия, которые нам нужно будет установить, чтобы продолжить процесс. Предварительные требования необходимы для установки Ruby и PostgreSQL (о чем мы поговорим чуть позже).

Установка Ruby

Чтобы установить Rails, нам сначала нужно установить Ruby. Для целей этой статьи мы будем устанавливать Ruby 2.4.1, ваша версия может отличаться, но на момент написания эта Ruby 2.4.1 была последней стабильной сборкой.

Чтобы установить Ruby, мы будем использовать rbenv для установки и управления нашими драгоценными камнями Ruby.

Вот сценарий, который немного облегчит нам жизнь. Вы должны иметь возможность просто скопировать и вставить это в свой терминал, но, как и в жизни, ваш пробег может отличаться.

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

Теперь, когда у нас есть путь и установлен каталог плагинов для rbenv и Ruby, мы можем установить последнюю версию Ruby.

Установка Ruby таким способом требует некоторой работы через терминал; терпение молодой кузнечик.

rbenv install 2.4.1
rbenv global 2.4.1
ruby -v

Заявление об ограничении ответственности, если вы, как и я, уже установили rbenv и Ruby и получаете сообщение…

ruby-build: definition not found: 2.4.1
The following versions contain `2.4.1' in the name:
  rbx-2.4.1
See all available versions with `rbenv install --list'.
If the version you need is missing, try upgrading ruby-build:
  cd /home/cr/.rbenv/plugins/ruby-build && git pull && cd -

… Вам нужно будет загрузить последнюю версию rbenv и ее определения, чтобы вы могли установить последнюю версию Ruby. Для этого просто введите это в свой терминал.

cd ~/.rbenv/plugins/ruby-build/
git pull origin master
cd -

Теперь вы можете вернуться к предыдущему шагу и установить последнюю версию Ruby, которая есть в ваших определениях.

Установка Bundler

Затем нам нужно установить Bundler менеджер пакетов Ruby. Это довольно просто.

gem install bundler

Теперь нам нужно rehash наши драгоценные камни, это обновляет указатели на правильное расположение новых пакетов.

rbenv rehash

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

Rails зависит от NodeJS для среды выполнения в конвейере ресурсов, поэтому нам нужно сначала установить NodeJS.

Давайте добавим в нашу систему официальный репозиторий NodeJS.

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

Теперь, когда официальный репозиторий сопоставлен с нашей системой, нам нужно установить NodeJS.

sudo apt-get install -y nodejs

Прекрасно, давайте потратим минутку на небольшую проверку работоспособности, прежде чем мы продолжим установку Rails. Давайте просто убедимся, что NodeJS установлен.

nodejs -v

У вас должно получиться что-то вроде v4.8.1. Если вы получили версию с последней командой, продолжайте установку Rails.

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

Теперь, когда у нас есть Ruby и все наши предварительные требования для Rails, мы можем продолжить и установить Rails.

gem install rails

На самом деле довольно просто, но мы должны помнить rehash нашу среду, чтобы у нас были все правильные указатели.

rbenv rehash

Теперь давайте проверим, установлена ​​ли у нас правильная версия Rails.

rails -v

Мы надеемся получить v5.0.2 или аналогичную версию. Опять же, пробег может отличаться.

УДИВИТЕЛЬНО! В нашей системе установлен Rails!

Но давайте не будем забегать вперед, мы все равно не сможем это использовать. Нам нужно настроить нашу инфраструктуру базы данных.

Установка PostgreSQL

На этом этапе я собираюсь заявить, что текущая, самая простая и наиболее поддерживаемая среда базы данных, которая работает без обходных путей с Rails, - это MySQL. При этом почти каждый разработчик и учебный курс, о котором я могу вспомнить, использует PostgreSQL, и действительно, вероятно, именно поэтому вы здесь, так можем ли мы использовать PostgreSQL с Rails в подсистеме Windows 10 Bash Linux?

Что ж, мы можем, нам просто нужно немного поработать. Вместо обычного пути установки PostgreSQL через терминал нам придется установить PostgreSQL как двоичный файл Windows и заставить наши две системы подключаться друг к другу.

Честно говоря, это немного досадно, но Microsoft в настоящее время работает над этой проблемой, и, надеюсь, в ближайшем будущем у нас не будет этой проблемы. Они хорошо поработали, прислушиваясь к сообществу и быстро выполнив работу, так что я надеюсь.

Давайте загрузим и установим последнюю стабильную версию двоичного файла PostgreSQL для Windows.

PostgreSQL 9.6.2 от BigSQL: Загрузить

Теперь, когда у нас загружен PostgreSQL, приступим к его установке.

Следуйте инструкциям «Мастера установки», не снимая флажки со значениями по умолчанию. Если вы хотите установить дополнительные пакеты, вы можете, но это не обязательно, и нам не нужны лишние навороты.

Как только вы перейдете в раздел «Пароль», установите пароль, который вы хотите использовать для своей postgres учетной записи. Я предпочитаю, чтобы мой пароль был password для удобства использования в моей локальной среде. Вы можете выбрать любой пароль, который хотите, но вам нужно будет помнить его позже в нашей работе.

НЕ ИСПОЛЬЗУЙТЕ ПАРОЛЬ ДЛЯ ВАШЕГО ПАРОЛЯ В СРЕДЕ ПРОИЗВОДСТВА !!!

Отлично, что мы установили, мы установили наш пароль, давайте сделаем быструю проверку работоспособности, чтобы убедиться, что наша подсистема Bash Linux подключается к нашей установке PostgreSQL в Windows.

Запустите эту команду из своего терминала Bash.

psql -p 5432 -h localhost -U postgres

Если все было установлено правильно, вы должны получить ответ, похожий на этот, и на приглашение оболочки postgres.

psql (9.5.6, server 9.6.2)
WARNING: psql major version 9.5, server major version 9.6.
         Some psql features might not work.
Type "help" for help.
postgres=#

Отлично, у нас это работает. Теперь введите \q, чтобы выйти из оболочки postgres.

Создание нашего приложения Rails

Сначала мы хотим убедиться, что находимся в правильном каталоге. Я использую каталог на своем рабочем столе, чтобы упорядочить свои файлы, опять же, ваш опыт может отличаться. Мы будем использовать мои расположения файлов в качестве примера, и вам придется заменить их там, где это необходимо.

cd /mnt/c/Users/User/Desktop/projects/applications

Обратите внимание, что мы храним наше приложение в нашей файловой системе Windows, а НЕ в нашей подсистеме Linux. Вот почему мы меняем каталог на /mnt/c/Users, отсюда вам нужно будет идентифицировать свою учетную запись Windows, вы можете сделать это, запустив ls и посмотрев, что появится. Для меня имя моей учетной записи User. После этого вам нужно будет cd перейти в каталог, в котором вы хотите работать.

Теперь, когда мы находимся в нужном каталоге, давайте создадим наше первое приложение.

rails new windows_bash_test_application --database=postgresql

Мы должны увидеть рельсы, создающие приложение.

Измените каталог в свое приложение.

cd windows_bash_test_application

Давайте быстро настроим наш database.yml файл, просто чтобы убедиться, что с нашей установкой PostgreSQL все в порядке.

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: localhost
development:
  <<: \\*default
  database: windows_bash_test_application_development
  username: postgres
  password: password
test:
  <<: \\*default
  database: windows_bash_test_application_test
  username: postgres
  password: password
production:
  <<: \\*default
  database: windows_bash_test_application_production
  username: windows_bash_test_application
  password: <%= ENV['WINDOWS_BASH_TEST_APPLICATION_DATABASE_PASSWORD'] %>

Теперь из нашего терминала создадим нашу базу данных.

rake db:create

Если все работает нормально, мы должны получить сообщение о том, что наша база данных для разработки и тестирования создана.

Created database 'windows_bash_test_application_development'
Created database 'windows_bash_test_application_test'

Давайте запустим наш сервер Rails и убедимся, что все работает.

rails s

Теперь в вашем браузере введите свой localhost:3000, и вам должно быть представлено подтверждение, что Rails действительно запущен и установлен.

Заключение

Вот и все, все готово. Теперь у нас есть Rails, работающий с PostgreSQL в Windows 10! Похлопайте себя по спине !! Woohoo !!!

Если у вас есть какие-либо вопросы, вы можете связаться со мной, и я сделаю все возможное, чтобы помочь вам, есть несколько довольно распространенных ошибок, но если вы просто потратите несколько минут на поиск в Google, вы должны найти свое решение. Помните, что Google - ваш друг. Если у вас по-прежнему возникают проблемы, свяжитесь с нами, и я посмотрю, что я могу сделать, чтобы помочь вам.

** Первоначально опубликовано на http://colinrubbert.com **