Я пытаюсь сделать урок Майкла Хартла. Когда я пытаюсь установить rails 3.2.14 в моем наборе, я получаю следующую проблему:
$ gem install rails -v 3.2.14
ОШИБКА: не удалось найти действительный камень 'rails' (= 3.2.14), вот почему:
Невозможно загрузить данные с https://rubygems.org/ - возвращено SSL_connect = 1 errno = 0 состояние = SSLv3 чтение сертификата сервера B: сбой проверки сертификата ( https://s3.amazonaws.com/production.s3.rubygems.org /specs.4.8.gz )
После поиска в Google я обнаружил, что могу использовать источник не-SSL для rubygems, поэтому я запустил:
sudo gem sources -a http://rubygems.org
Затем, когда я снова попытался установить рельсы, все прошло успешно. Однако, я все еще получил проблему выше, но как предупреждение:
ПРЕДУПРЕЖДЕНИЕ. Невозможно извлечь данные из https://rubygems.org/ : возвращено SSL_connect = 1 errno = 0 состояние = SSLv3 прочитанный сертификат сервера B: сбой проверки сертификата ( https://s3.amazonaws.com/production.s3 .rubygems.org / specs.4.8.gz )
Как я могу полностью удалить это предупреждение / ошибку?
Я использую следующее:
- рвм 1.22.15
- ruby 2.0.0p247 (2013-06-27, редакция 41674) [x86_64-darwin12.3.0]
- OSX 10.8.5
источник
2.0.*
) версияхrubygems
. Попробуйте обновить до последней версии rubygems:gem update --system
и затем снова запуститеgem install
.gem sources -r https://rubygems.org/
работал для меня (в том числе удаление предупреждения).Ответы:
Для пользователей RVM и OSX
Убедитесь, что вы используете последнюю версию rvm:
Тогда вы можете сделать две вещи:
Обновить сертификаты:
Обновление рубинов:
Для не RVM пользователей
Найти путь для сертификата:
Создать сертификат:
Весь код: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs
Для не OSX пользователей
Обязательно обновите пакет
ca-certificates
. (на старых системах он может быть недоступен - не используйте старую систему, которая больше не получает обновления безопасности)Примечание Windows
Рубин Установщик строит для окна готовится Луис Лавена и путь к сертификатам будет показывать что - то вроде
C:/Users/Luis/...
проверки https://github.com/oneclick/rubyinstaller/issues/249 для получения более подробной информации , и этого ответа https://stackoverflow.com / a / 27298259/497756 для исправления.источник
rvm rubygems latest
результате запуска возникла ошибка, сообщающая об отсутствии контрольных сумм. Тем не менее, вещи начали работать без этого тоже ... очевидно, вы могли бы заставить это,--verify-downloads 1
если вам нужно. Есть идеи, почему это может быть? Он пытался получить версиюrubygems-2.1.6
head
версию иstable
скоро выпустлю .permission denied: /private/etc/ssl/cert.pem
Последние результаты ...
https://gist.github.com/luislavena/f064211759ee0f806c88
Самое главное ... скачать https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem
Выясните, где его можно вставить
Затем просто скопируйте файл .pem в ../2.1.0/rubygems/ssl_certs/ и продолжайте заниматься своим делом.
источник
.pem
расширением, а не.pem.txt
!AddTrustExternalCARoot-2048.pem
, 2) Я поместил файл вC:\Ruby193\lib\ruby\1.9.1\rubygems\ssl_certs
, 3) Я запускаюgem install susy
и получаю ту же ошибкуUnable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
gem install --local C:\Downloads\rubygems-update-2.4.5.gem
Для пользователей Windows
Перейти по ссылке http://rubygems.org/pages/download
источник
Если вы хотите использовать источник без SSL, попробуйте сначала удалить источник HTTPS, а затем добавить HTTP:
ОБНОВИТЬ:
Как утверждает mpapis, это следует использовать только как временное решение. Могут возникнуть некоторые проблемы с безопасностью, если вы обращаетесь к RubyGems через источник без SSL.
Как только обходной путь больше не нужен, вы должны восстановить SSL-источник:
источник
sudo gem sources -r https://rubygems.org/
иsudo gem sources -r http://rubygems.org/
. Обратите внимание на трейлинг/
./
, он также должен быть удален в конце/
.В Windows вам нужно будет использовать
HTTP
источник для обновления, аgem
затем вернуться к использованиюHTTPS
.Изменить: Предупреждение Я не уверен, что это безопасно . Кто-нибудь знает, подписаны ли пакеты ruby? Принятый ответ выглядит как лучшее решение.
источник
gem sources -l
обновление системы и после нее, рекомендуется начать с просмотра исходных текстов. Если обновление не удалось, укажите номер версии сразу после --system. См. Rubygems.org/gems/rubygems-update/versions или спросите коллег, какиеgem -v
отчеты.Для пользователей Windows (и, возможно, других)
На Rubygems.org есть руководство, которое не только объясняет, как решить эту проблему, но и почему у многих людей оно возникает : обновление сертификата SSL Причиной проблемы является то, что rubygems.org перешел на более безопасный сертификат SSL (SHA-2, который использовать 256-битное шифрование). Инструмент командной строки rubygems связывает ссылку на правильный сертификат. Поэтому сам рубинем не может быть обновлен с использованием более старой версии рубинем. Rubygems должен сначала быть обновлен вручную.
Сначала узнайте, какие у вас рубины:
В зависимости от того, есть ли у вас версия 1.8.x, 2.0.x или 2.2.x, вам нужно будет загрузить гем обновления с именем «rubygems-update-XYZgem», где XYZ - нужная вам версия. Запуск 1.8.x: скачать: https://github.com/rubygems/rubygems/releases/tag/v1.8.30 Запуск 2.0.x: скачать: https://github.com/rubygems/rubygems/releases/tag/v2 .0.15 Запуск 2.2.x: скачать: https://github.com/rubygems/rubygems/releases/tag/v2.2.3
Установите обновление gem:
Запустите обновление gem:
Проверьте, что rubygems был обновлен:
Удалить обновление gem:
На данный момент, вы можете быть в порядке. Но возможно, что у вас нет последнего файла открытого ключа для нового сертификата. Сделать это:
Загрузите последний сертификат (в настоящее время AddTrustExternalCARoot-2048.pem) с https://rubygems.org/pages/download . Все сертификаты также расположены по адресу: https://github.com/rubygems/rubygems/tree/master/lib/rubygems/ssl_certs.
Узнайте, где его поставить:
Поместите этот файл в каталог «rubygems \ ssl_certs» в этом месте.
В соответствии с фиксацией rubygems сертификаты перемещаются в более конкретные каталоги. Таким образом, в настоящее время ожидается, что сертификат (AddTrustExternalCARoot-2048.pem) находится по следующему пути.
lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem
источник
Попробуйте использовать исходный сайт для драгоценных камней, т.е. rubygems.org. Используйте http вместо https. Этот метод не включает никакой работы, такой как установка сертификатов и все такое.
Пример -
Это работает, но есть одна оговорка.
Gem установлен, но документация не из-за определенных ошибок. Вот ошибка, которую я получаю
источник
Бег
gem update --system
работал на меняисточник
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
Убедитесь, что ваши системные часы верны
Эта точная ошибка произошла со мной сегодня на виртуальной машине Ubuntu, работающей на VirtualBox. Я испробовал большинство решений, показанных выше, прежде чем заметил, что я вернулся из очень старого приостановленного состояния, и мои часы были выключены на много дней.
Обновление часов сразу исправило мою проблему. Вот команда, которую я использовал в моем случае:
служба sudo ntp stop && sudo ntpdate pool.ntp.org && служба sudo ntp start
источник
Простое удаление и переустановка openssl с помощью homebrew решили эту проблему для меня.
brew uninstall --force openssl
brew install openssl
источник
brew uninstall --ignore-dependencies openssl
(что эквивалентно старомуforce
флагу)Для пользователей Fedora
Обновите
cert.pem
файл до новейшей версии, предоставленной cURL: http://curl.haxx.se/ca/cacert.pemисточник
Если вы используете Windows, откройте https://rubygems.org/ с помощью Internet Explorer.
Нажмите на информацию о безопасности и импортируйте сертификат. Суть в том, что ваша цепочка сертификации устарела, и вам нужно добавить этот новый сертификат. Помните, что это не нарушение безопасности, если вы можете проверить сертификат как доверенный.
источник
В моем случае сертификаты Ubuntu CA были устаревшими. Я исправил это, запустив:
источник
Подход / однострочник, который можно автоматизировать для загрузки драгоценных камней с использованием HTTP вместо HTTPS:
источник
Особый случай RubyGems (инструмент командной строки) заключается в том, что он требует связать внутри своего кода сертификаты доверия, которые позволяют RubyGems устанавливать соединение с серверами, даже если базовая операционная система не может проверить их подлинность.
Еще несколько месяцев назад этот сертификат был предоставлен одним центром сертификации, но новый сертификат был предоставлен другим.
Из-за этого существующие установки RubyGems должны были быть обновлены до переключения сертификата и дать достаточно времени для распространения изменений (и людей для обновления)
Любой может найти свое решение, следуя простым шагам, приведенным в ссылке ниже
https://gist.github.com/luislavena/f064211759ee0f806c88
источник
Пытаться
Надеюсь, это решит проблему.
источник
apt install ruby
.ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
Загрузите файл cacert.pem с http://curl.haxx.se/ca/cacert.pem . Сохраните этот файл в C: \ RailsInstaller \ cacert.pem.
Теперь сообщите ruby о вашем пакете центра сертификации, установив SSL_CERT_FILE. Чтобы установить это в текущем сеансе командной строки, введите:
set SSL_CERT_FILE = C: \ RailsInstaller \ cacert.pem
источник
У меня была такая же проблема при попытке установить огуречный драгоценный камень. Однако я заметил, что пакетный гем уже установлен с ruby 2.0. Я создал Gemfile.rb в папке проекта с необходимыми гемами и выполнил следующие действия
Все необходимые камни установлены.
источник
Для Illumos / Solaris с использованием OpenCSW pkgutil:
Установите CSWcacertificates до 'gem install'
Если вы используете набор ruby, не принадлежащий OpenCSW, ваша версия ruby может ожидать найти файл сертификата в другом месте. В этом случае я просто символически связал OpenCSW /etc/opt/csw/ssl/cert.pem с ожидаемым местом.
Проверьте, где ruby ожидает найти его:
Затем, если есть расхождение, свяжите это:
источник
Или может быть предотвращен брандмауэром, как я. Попробуй это:
sudo gem install --http-proxy http: // localhost: порт cocoapods -V
источник
Для пользователя Windows:
После успешной установки Ruby 2.2.3 (+ rubygems 2.5.1) на тестовом компьютере с доступом к Интернету у меня была эта ошибка SSL, когда я устанавливал упаковщик на производственном компьютере в сети.
Поскольку у меня были ограничения доступа к сети, и не было никакого способа изменить настройки доступа SSL, и, основываясь на сообщениях об ошибках, я выполнил следующие шаги, чтобы завершить установку пакета (это может показаться странным, но это работал...).
Через машину с неограниченным доступом в интернет скачали следующие файлы:
Я добавил эти файлы на сервер интрасети, сохранив структуру папок по ссылкам выше:
spec.4.8.gz e latest_specs.4.8.gz
пакетирования-1.11.2.gemspec.rz
пакетирования-1.11.2.gem
Затем я добавил свою интрасеть для доступа к источнику гемов:
После установки я успешно запустил «сборщик гемов», и все, что мне понадобилось, - это удалить мою внутреннюю сеть из гема:
Я надеюсь, что это полезно в любой подобной ситуации ....
источник
Как пользователь Windows 10, я последовал Dheerendra в ответ , и он работал на меня один день. На следующий день я снова столкнулся с проблемой, и его решение не сработало. Для меня исправление было обновить
bundler
с:gem update bundler
Я считаю, что моей версии
bundler
было больше, чем несколько месяцев.источник
Убедитесь, что вы установили ruby с параметром --disable-binary , если нет, удалите его и переустановите с помощью параметра.
больше информации здесь
источник
Ответ больше не действителен. Так как я столкнулся с проблемой со старой Windows Ruby прямо сейчас, я выложу ответ.
Когда я хотел установить гем activesupport:
Следующие шаги необходимо скопировать только сертификаты из более новых рубинов Windows. Возьми последний ruby (или хотя бы ruby 2.4.0 ) и сделайте следующее:
скопируйте сертификаты из этих каталогов (адаптируйте их под свои нужды):
C:\prg_sdk\rubies\Ruby-2.4\lib\ruby\2.4.0\rubygems\ssl_certs\rubygems.org
C:\prg_sdk\rubies\Ruby-2.4\lib\ruby\2.4.0\rubygems\ssl_certs\index.rubygems.org
до пункта назначения (снова настройте на то, что вам нужно):
C:\prg_sdk\rubies\Ruby231-p112-x64\lib\ruby\2.3.0\rubygems\ssl_certs
источник