Установка и настройка Ruby 2.3.1 на Windows 10

mbaev 30.04.2017, 11:56

Установка Ruby на Windows достаточно проста, описана на официальных сайтах и заключается в скачивании и запуске установщика .

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

  • Камень первый - после установки ruby нужно установить DevKit.
  • Камень второй - ruby и DevKit нужно "подружить".
  • Камень третий - при установке гема/гемов выдаётся сообщение о том, что не удаётся верифицировать сертификат:
    https://rubygems.org/': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)

Входящие данные

Камень первый

Решается скачиванием и распаковыванием dev-пакета любую папку (я распаковал в C:/ruby/devkit). Для Ruby 2.3.1 x64 нужен этот пакет: DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

Камень второй

После того, как на компьютере появился DevKit, его еще нужно "подружить" с Ruby сервером, несмотря на то, что сам DevKit уже лежит внутри сервера. Смысл "дружбы" заключается в создании конфигурационного файла. В DevKit'е есть скрипт, который все сделает сам. Его нужно лишь запустить.

  1. chdir C:/ruby/devkit
  2. ruby dk.rb init
  3. ruby dk.rb install

Камень третий

В самом руби указан адрес откуда надо качать гемы. Также этот адрес может быть указан в Gemfile в корне разрабатываемого сайта. Например, source 'https://rubygems.org'. Так как в адресе есть протокол https, то серверу нужен сертификат, которого локально, конечно же нет.

Решения два:

  1. Заменить https на http и не парится.
  2. Установить сертификат - правильный метод.

Установка сертификата

Можно воспользоваться автоисталлером сертификата , но по сути он просто скачивает сертификат, кладёт его в C:\RailsInstaller\cacert.pem и просит прописать путь до сертификата в переменную SSL_CERT_FILE.

Тоже самое можно сделать самостоятельно: скачать сертификат отсюда , положить в любое место (у меня C:\ruby\cacert.pem) и установить путь до этого сертификата:

set SSL_CERT_FILE=C:\ruby\cacert.pem