Подтвердить что ты не робот

Проверка сертификата Не удалось выполнить установку "gem install foundation"

Попытка установить Foundation после установки nodejs, ruby ​​и git plus bower.

Я продолжаю получать следующую ошибку, и я не знаю, как ее исправить:

Не удалось найти действительный камень "фундамент" ( >= 0), вот почему: Не удалось загрузить данные из https://rubygems.org/ - SSL_connect возвращен = 1 errno = 0 state = SSLv3 считать сертификат сервера B: проверка сертификата не выполнена (https://api.rubygems.org/latest_specs.4.8.gz)

Любые идеи?

4b9b3361

Ответ 1

Попробуйте (быстро, но небезопасно)

gem sources --remove https://rubygems.org/
gem sources -a http://rubygems.org/

ПРИМЕЧАНИЕ. Загрузка через HTTP будет незашифрованной

Ответ 3

Если вы используете RVM (настоятельно рекомендуется), вы можете запустить

rvm osx-ssl-certs update all

В противном случае вы можете следовать указаниям http://guides.rubygems.org/ssl-certificate-update/, а патч update_rubygems ничего не сделал для меня, вручную установив Вероятно, файл pp. работал бы.

Ответ 4

Пожалуйста, прочитайте фон и следуйте официальному руководству от rubygems.org о том, как это исправить.

TL; ДР:

  • Загрузите rubygems-update-2.6.7.gem (ссылка будет устаревать при выходе новой версии)
  • gem install --local $USER\Downloads\rubygems-update-2.6.7.gem
  • update_rubygems --no-ri --no-rdoc
  • gem uninstall rubygems-update -x

Ответ 5

Взято из ссылка, предоставленная Sébastien

В основном, вы загрузите последний сертификат и поместите его в $RUBYHOME/lib/ruby/2.1.0/rubygems/ssl_certs. (Обратите внимание, что у вас может быть установлена ​​другая версия rubygems, чем 2.1.0, поэтому соответствующим образом настройте путь).

Rubygems должны использовать сертификат при следующем вызове команды gem.

Ответ 7

В linux или в контейнере докера следующая проблема решит проблему:

curl https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem > $(ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE')

Вышеупомянутая команда получит сертификат CA, который Rubygems ожидает при подключении к его веб-сайту, и установите его в том месте, где ruby ​​ожидает, что сертификат будет жить.

Благодаря Gabe Evans полезно сообщение в блоге, для подробного описания умного способа решения проблемы в одной строке кода.

Я изменил решение Gabe, чтобы использовать сертификат CA, указанный на rubygems веб-сайт. Дальнейшее обсуждение того, почему возникла эта проблема, можно найти там.

Преимущество этого решения заключается в том, что он использует https для получения обновленного сертификата для rubygems. Поскольку он получает этот сертификат от github, он может работать даже с сертификатом SHA1. Это также удобно, потому что он использует ruby, вытаскивая библиотеку openssl, чтобы поместить сертификат там, где ему нужно идти.