Не удается установить рубиновые гемы в Mac OS - ошибка SSL_connect

Моя среда - Mac OS 10.10.5, ruby ​​версии 2.2.4 (или 2.2.2 или 2.2.0), gem (после обновления) - 2.6.7, версия rvm 1.27.0.

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

При установке любых драгоценных камней на любую версию ruby ​​я получаю следующее:

$ gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:
          Unable to download data from 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. Увидетьhttp://guides.rubygems.org/ssl-certificate-update/ для предложенного решения. Я следую этому, но продолжаю получать ту же ошибку.

Проблема, кажется, заключается в получении файла GlobalSignRootCA.pem в соответствующем месте, что не совсем понятно. Приведенная выше ссылка объясняет, как найти соответствующий каталог ssl_certs, которых в моей системе 2, но ни один из них не работает.

Я забыл, где я узнал следующее:

$ ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_DIR'
/etc/openssl/certs
$ ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE'
/etc/openssl/cert.pem

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

Когда я переустанавливаю openssl (homebrew), он услужливо говорит мне:

A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

но это также не решает проблему.

Из другого ТАК вопроса:

rvm osx-ssl-certs update all

не работает И не делает:

security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

Кто-нибудь знает, как получить представление о том, что ожидает здесь rubygems? Где он хочет этот файл или это даже тот файл, который он хочет? Должен ли я импортировать файл .pem в цепочку ключей OSX? Как это сделать?

Или есть способ получить файл gem и установить его локально? rubygems делает это полезно для самого rubygems, но не для отдельных драгоценных камней из того, что я могу сказать.

- обходной путь

Хорошо - ответ на вопрос, где взять драгоценный камень: перейти кhttps://rubygems.org/gems/[package name] и выберите версию и перейдите к загрузке - в настоящее время по ссылкам на правой стороне. Загрузите файл иgem install --local [downloaded gem file], Плюс все зависимости.

Для автоматизации:

# start by adding insecure source for --explain - thanks to @tnum
gem source -a http://rubygems.org/
while read x 
do
wget https://rubygems.org/downloads/$x.gem
gem install --local $x.gem 
rm $x.gem
done < <(gem install --explain [package name] | grep "^  ")
# remove insecure source
gem source -r http://rubygems.org/

Некоторая нехватка безопасности может быть смягчена с помощью лучшего регулярного выражения grep, но это все еще небезопасно. Обратите внимание, чтоwget https:// работает так что проблема ssl определенно с rubygems.

Ответы на вопрос(3)

Ваш ответ на вопрос