Всем привет любители программировать и улучшать мир к лучшему.

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

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

Потратив на это большое количество времени, я надеюсь что эти шаги дадут возможность нуждающимся в ответе и решении своих проблем в установке, какую то помощь и сократят то драгоценное время которого у нас всегда не хватает.

И так, приступим.

Установка велась на ОС Windows 10 Home.

1. Скачать с сайта: rubyinstaller.org в разделе downloads версию Ruby — Ruby+Devkit 2.6.5-1 (x64) — возможно у Вас будет уже более новая, и так же следите за разрядностью операционки, у кого стоит х32 vs х86, выбирайте соответствующую

2. Скачать с сайта: www.sqlite.org в разделе downloads два файла из подраздела Precompiled Binaries for Windows один: sqlite-dll-win32-x86-3300000.zip, второй: sqlite-dll-win64-x64-3300000.zip

со скачиванием закончили, приступим к пошаговой установке

3. Для начала распакуем в одну папку файлы из архивов скачанных с сайта www.sqlite.org и скопируем данную папку по адресу установки вашей операционной системы у меня это C:\sqlite папку можно назвать 'sqlite'. В этой папке должны находиться только файлы из двух архивов, если в архивах есть папки то нужно достать из них файлы и перенести в указанную папку C:\sqlite

4. Нужно дать доступ к sqlite из любых директорий вашего компьютера, для этого: кликаем правой кнопкой мыши на «Мой компьютер» и выбираем в выпавшем меню «Свойства», откроется окно с данными вашей системы, нажимаем на:

image

далее в появившемся окне жмем

image

далее

image

далее в нижней части окна выбираем Path и жмем «Редактировать» или «Edit»

image

далее в появившемся окне жмем «Новый» или «New» и в новой строке прописываем пусть к файлам sqlite у меня это C:\sqlite и нажимаем везде «OK» тем самым принимая изменения

image

все, с пунктом №4 мы закончили

установку sqlite можно проверить введя в cmd команду sqlite3 и нажать клавишу «Enter», если выведется версия программы, все нормально, установка успешна и можно продолжать шагать дальше

важное замечание: библиотека 'rails' на момент установки была последней версии 6.0.0 и ставилась она по команде только последняя, когда я пытался поставить версию 'ruby' более раннюю, возникала ошибка в некоторых библиотеках с 'rails' и были проблемы, следите за тем, чтобы версии rails и ruby были максимально одного времени релиза

5. Нужно установить Ruby на компьютер, для этого просто запускаем установочный файл скачанный нами ранее и ставим его так же на дист с операционкой, папку я называл по проще «Ruby», дожидаемся установки, в конце на последнем шаге, нужно установить галочку для запуска установки дополнительной библиотеки, если стоит то ничего не нужно и нажимаем «OK».

Откроется окно похожее на окно cmd windows и в этом окне нужно будет по инструкции ввести цифру «1» и нажать «Enter», дождемся установки и продолжим.

Проверить установку, можно введя в cmd команду «ruby -v», так же если выведется версия ruby, то все прошло успешно.

6. Дальше нам, нужно установить сам фрэймворк «Rails» для этого в cmd введем следующую команду «gem install rails», ждем завершения установки, проверить можно также введя в cmd команду «rails -v», если выдаст версию, все хорошо и можно двигаться дальше.

Начинается самое интересное.

7. Далее нам нужно создать проект в чем и будет большинство проблем. Создаем на компьютере папку в любом месте, я создавал так же на том же диске с Windows, и переходим в cmd в данную папку. Когда перешли, набираем команду создания проекта 'rails new app' где 'app' — название приложение можно выбирать любое разумное и нажимаем 'Enter' запуститься установка и скорее всего где то будет ошибка

ошибка 1: не может найти или определить sqlite3 версии 1.4.1 или 1.4.0
открываем папку с уже установленным приложением через программу Sublime Text и открываем файл 'Gemfile' он будет виден на первом уровне в низу

image

меняем значения данных:

gem 'sqlite3', '~> 2.5'
gem 'rails', '~> 6.0.0'

на более низкие версии, или те версии которые прописаны в ошибках cmd при создании проекта

например:

gem 'sqlite3', '~> 1.4'
gem 'rails', '~> 1.4.0'

и пробуем установить заново sqlite командой введя ее в cmd 'gem install sqlite' если эта команда не подходит, попробуйте rails install sqlite или gem sqlite install, в любом случае ошибки в приложении не будет, только лишь в окне программы cmd — это не страшно

8. Далее нам нужно будет заново запустить установщик который называется 'bundle' он запускался в процессе создания приложения и отвечает за все компоненты rails. Запускается он командой 'bundle install' и тут возникнет ошибка, ориентировочно в середине процесса, где будет сказано что не найден файл 'webpack' и для его установки нужно сначала скачать с ресурса yarnpkg.com/lang/en/docs/install файл 'yarn' и установить его на компьютер.
Так и делаем.

9. Качаем файл 'yarn' с yarnpkg.com/lang/en/docs/install под windows и двойным щелчком на файле, инсталируем его в папку с вашим проектом по пути 'Название вашего проектк(папка)\yarn(папка)'

10. Далее как и было ранее сказано в cmd воодим команду 'rails webpack:install' и ждем установки, она будет не быстрой.

11. По окончании установки, вводим команду 'rails s' тем самым запуская сервер, находим там же в cmd строку '* Listening on tcp://localhost:3000' из которой копируем 'localhost:3000' вставляем в браузер и наслаждаемся высокими технологиями.

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

Если после проделанных шагов, у вас все равно не запускается сервер и есть проблемы, смотрите внимательно в файл проекта 'Gemfile' в нем инструкция что и какой версии нужно устанавливать, меняйте номер версии и запускайте установщик заново 'bundle install' или 'bundle update'.

Это всё.

Всех интересных проектов, неординарных идей и хорошего настроения.

Комментарии (20)


  1. Tanner
    11.10.2019 17:44
    +6

    Напишите, пожалуйста, сразу перед катом, что это рецепт для Windows. И тег соответствующий желательно добавить.

    А то у меня прямо сходу глаза на лоб полезли: что может быть такого сложного в установке рельс?! А оно вот как, оказывается.

    Ну, и вы как-то неожиданно перешли от Ruby к JavaScript, а потом опять к Ruby. Это несколько сбивает с толку.


    1. shir
      11.10.2019 21:25
      +1

      От ruby к javascript автор перешел потому что для современных рельс по умолчанию нужен webpack. Вот он его и ставил.


  1. ertaquo
    11.10.2019 17:45
    +17

    Чтобы установить Rails на Windows 10, достаточно установить подсистему Linux и установить рельсы там.
    Вообще имхо странно разрабатывать веб-приложения на Ruby, Python, Javascript под Windows — в подавляющем большинстве случаев production будет все равно под Linux.


    1. fzn7
      11.10.2019 18:01
      -1

      .


      1. fzn7
        11.10.2019 22:24

        Йоу, ну ошибся веткой, стёр коммент и написал ниже. В чем проблема?


        1. Koneru
          12.10.2019 00:01

          Это весьма странный парадокс, я сегодня ошибся с содержанием комментария, удалил и получил + на него и так уже не первый раз. Непонятно за что ставить оценку(±)? Это не карма, так что не нужно париться, ничем эти минуса не мешают.


        1. Norsat
          12.10.2019 00:07

          Но мир не без добрых людей. Зато теперь можешь голосовать.


    1. GeneAYak
      12.10.2019 10:19

      вот да, а сейчас с учетом того как прозрачно работает VSCode с подсистемой, так вообще радость

      а вот ставить просто на винду не стоит оно того


    1. OnYourLips
      12.10.2019 12:57
      -1

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


      С остальными членами списка согласен.


      1. staticlab
        12.10.2019 14:16
        +1

        за счет наличия фотошопа, который фронтендщику все еще нужен

        ИМХО если для вёрстки в 2019 году ещё требуют от фронтендера наличия фотошопа, то нужно бежать с такой работы.


  1. fzn7
    11.10.2019 18:01
    +3

    Рельсы под windows не работают, просто примите это


    1. nochkin
      12.10.2019 00:12

      Кстати, ставил и пользовался рельсами под виндами без проблем буквально полгода назад (не было доступа на Linux под рукой на тот момент).
      Заморочек как в статье не было. Разве что версию sqlite понизил, но это было очевидно из сообщений во время установки. Webpack не ставил, так как это не рельсовая задача.


      1. Dreyk
        12.10.2019 10:27

        хаха. нерельсовая задача. он сейчас является дефолтом вместо assets pipeline


        1. nochkin
          12.10.2019 22:58

          Rails часто ставится как API only, там много чего такого просто не надо.


  1. farcaller
    11.10.2019 19:35
    +1

    если эта команда не подходит, попробуйте rails install sqlite или gem sqlite install

    что?..


  1. nemilya
    11.10.2019 22:20

    Присоединюсь к комментариям, сам больше 10 лет занимался разработкой веб на win десктопе, но у меня всё веб работало в Vagrant VirtualBox Ubuntu — и это экономило уйму времени. После перешёл на Linux Mint (но виртуалка-ubunta для разработки осталась — позволяет единообразно держать окружение). Но в любом случае спасибо что поделились, возможно для кого-то это сэкономит время.


  1. roller
    12.10.2019 15:18
    +1

    Вы же понимаете, что первым шагом должно быть выкидывание винды на мороз и установка макоси (шучу), убунты или цент оси.
    Дальше просто
    \curl -sSL https://get.rvm.io | bash
    rvm install ruby-2.6.3
    yum/apt install sqlite


    ВСЕ!


  1. Rive
    12.10.2019 18:02

    Мне кажется, в некоторых ситуациях Docker бы хорошо подошёл для такой задачи.
    Как раз предназначен для быстрого доступа к окружению со сложной конфигурацией.

    Во всяком случае, когда я в очередной раз ставил Redmine, то вместо долгой и хлопотной настройки ruby под windows я просто взял готовую конфигурацию.
    И потом исправил кодировку, немного погуглив и взяв недостающее со страницы на японском, на которой из быстропонятного был только текст конфига. Вроде сработало. Во всяком случае, цель «поставить и не напрягаться» была достигнута.

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


  1. crackedmind
    12.10.2019 19:46
    +1

    Какое мракобесие. Девкит руби основан на msys2, надо было вбить pacman -S sqlite
    Достаточно было прочитать документацию
    github.com/oneclick/rubyinstaller2#install-gems-with-c-extensions-and-additional-library-dependencies


  1. k4ir05
    14.10.2019 05:05

    gem 'rails', '~> 1.4.0'

    А это ещё зачем?