Установка 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)
Входящие данные
- Windows 10
- Загруженный rubyinstaller-2.3.1-x64.exe
- Папка для установки C:\ruby
Камень первый
Решается скачиванием и распаковыванием dev-пакета любую папку (я распаковал в C:/ruby/devkit). Для Ruby 2.3.1 x64 нужен этот пакет: DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
Камень второй
После того, как на компьютере появился DevKit, его еще нужно "подружить" с Ruby сервером, несмотря на то, что сам DevKit уже лежит внутри сервера. Смысл "дружбы" заключается в создании конфигурационного файла. В DevKit'е есть скрипт, который все сделает сам. Его нужно лишь запустить.
chdir C:/ruby/devkit
ruby dk.rb init
ruby dk.rb install
Камень третий
В самом руби указан адрес откуда надо качать гемы. Также этот адрес может быть указан в Gemfile в корне разрабатываемого сайта. Например, source 'https://rubygems.org'
. Так как в адресе есть протокол https, то серверу нужен сертификат, которого локально, конечно же нет.
Решения два:
- Заменить https на http и не парится.
- Установить сертификат - правильный метод.
Установка сертификата
Можно воспользоваться автоисталлером сертификата , но по сути он просто скачивает сертификат, кладёт его в C:\RailsInstaller\cacert.pem и просит прописать путь до сертификата в переменную SSL_CERT_FILE.
Тоже самое можно сделать самостоятельно: скачать сертификат отсюда , положить в любое место (у меня C:\ruby\cacert.pem) и установить путь до этого сертификата:
set SSL_CERT_FILE=C:\ruby\cacert.pem