3.21.2016

Sass, что делать при ошибке ERROR: Could not find a valid gem 'sass' (SSL connect returned ...)

Содержание

  1. Установить Sass легко. 
  2. Почему не всегда это так
  3. Решение для windows
  4. P.S. или другое решение
  5. Полезная ссылка по CSS

Установить Sass легко.

В сети полным полно информации о том как установить Sass и вот ссылка на хороший тому пример https://www.youtube.com/watch?v=viWBi8YZHXU.

Но не всегда так легко как кажется.

Иногда вы можете получить разного рода ошибки. Неприятно! К таковым относится ошибка SSL ключа при установке sass (gem sass). И если вы не знаете, что такое SSL, то поиск решения может оказать достаточно трудоемким.

Когда я столкнулся с такой проблемой SSL для меня был пустой звук, а решение пришлось искать в англоязычном интернете. И снова, неприятно!

Решение для windows

Нужно скачать и выполнить следующий ruby скрипт win_fetch_cacerts.rb.
Обратите внимание, что данный скрипт выполняет get запрос на удаленный сервер, там скачивает файл cacert.pem. При этом сервер может быть недоступен! В таком случае прокрутите статью ниже, там вы найдете ссылку на файл cacert.pem, который можно скачать вручную и положить в директорию к Ruby on Rails.

require 'net/http'

# create a path to the file "C:\RailsInstaller\cacert.pem"
cacert_file = File.join(%w{c: RailsInstaller cacert.pem})

Net::HTTP.start("curl.haxx.se") do |http|
   resp = http.get("/ca/cacert.pem")
   if resp.code == "200"
     open(cacert_file, "wb") { |file| file.write(resp.body) }
     puts "\n\nA bundle of certificate authorities has been installed to"
     puts "C:\\RailsInstaller\\cacert.pem\n"
     puts "* Please set SSL_CERT_FILE in your current command prompt session with:"
     puts " set SSL_CERT_FILE=C:\\RailsInstaller\\cacert.pem"
     puts "* To make this a permanent setting, add it to Environment Variables"
     puts " under Control Panel -> Advanced -> Environment Variables"
   else
     abort "\n\n>>>> A cacert.pem bundle could not be downloaded."
   end
end

Сохраните текст скрипта в файл win_fetch_cacerts.rb. Запустить терминал по пути рабочего стола. и выполните ruby win_fetch_cacerts.rb

После этого установка sass и compass (gem i sass, gem i compass). Пройдет успешно.

Если вы хотите, чтобы ruby запомнил проделанные вами действия нужно создать SSL ключ в файл cacert.pem

Загрузить cacert.pem можно тут https://curl.haxx.se/ca/cacert.pem
Решение было найдено тут https://gist.github.com/fnichol/867550 (на английском).

P.S.

Так же, если вы не хотите заморачиваться и не боитесь вирусов :), то можете скачать нужный вам gem из другого репозитория без SSL. В терминале могут быть выведены ссылки по которым это можно сделать. Если я нечего не путаю, на windows 10 такое встречал.

Полезная ссылка

Подборка 50 CSS инструментов, фреймворков и библиотек за 2015 год.
https://speckyboy.com/2015/12/06/css-tools-frameworks-libraries-2015/