web-dev-qa-db-fra.com

Échec de la vérification du certificat dans "gem install foundation"

Essayer d'installer Foundation après avoir installé nodejs, Ruby et git plus bower.

Je reçois toujours l'erreur suivante et je ne sais pas comment y remédier:

Impossible de trouver une "fondation" de gemme valide (> = 0), voici pourquoi: Impossible de télécharger les données de https://rubygems.org/ - SSL_connect retourné = 1 errno = 0 état = SSLv3 lire le certificat du serveur B: la vérification du certificat a échoué ( https://api.rubygems.org/latest_specs.4.8.gz )

Des idées?

21
NixondisNRVA

Essayez ceci (rapide mais peu sûr)

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

REMARQUE: le téléchargement via HTTP ne sera pas chiffré

41
Dongho Yoo

Si vous utilisez [~ # ~] rvm [~ # ~] (fortement recommandé), vous pouvez exécuter

rvm osx-ssl-certs update all

Sinon, vous pouvez suivre les instructions à http://guides.rubygems.org/ssl-certificate-update/ et tandis que le update_rubygems le patch n'a rien fait pour moi, l'installation manuelle du fichier .pem aurait probablement fonctionné.

Sans RVM, le lien suggère que vous pouvez essayer ...

gem install bundler

ou

gem update --system
17
Ryan Taylor

Regardez cela, le problème est expliqué en détail:

https://Gist.github.com/luislavena/f064211759ee0f806c88

12
Sébastien

Veuillez lire le fond et suivre le guide officiel de rubygems.org sur la façon de résoudre ce problème.

TL; DR:

  1. Télécharger rubygems-update-2.6.7.gem (le lien sera périmé lorsque la nouvelle version sera disponible)
  2. gem install --local $USER\Downloads\rubygems-update-2.6.7.gem
    (Try %userprofile% instead of $USER if using Windows)
  3. update_rubygems --no-ri --no-rdoc
  4. gem uninstall rubygems-update -x
8
gerrytan

Tiré du référence donnée par Sébastien

Fondamentalement, vous téléchargez le dernier certificat et le placez dans $RUBYHOME/lib/Ruby/2.1.0/rubygems/ssl_certs. (Notez que vous pouvez avoir une version différente de rubygems installée que 2.1.0, ajustez donc le chemin de manière appropriée).

Rubygems devrait utiliser le certificat la prochaine fois que vous appellerez la commande gem .

4
h3xStream

Sur Linux, ou dans un conteneur Docker, la commande suivante résoudra le problème:

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')

La commande ci-dessus récupérera le certificat CA que rubygems attend lors de la connexion à son site Web et l'installera à l'emplacement où Ruby s'attend à ce que le certificat vive.

Merci à Gabe Evans utile article de blog , pour avoir détaillé une façon intelligente de résoudre le problème en une seule ligne de code.

J'ai modifié la solution de Gabe pour utiliser le certificat CA spécifié sur les rubygems site Web . On y trouvera de plus amples explications sur les raisons de ce problème.

L'avantage de cette solution est qu'elle utilise https pour récupérer le certificat mis à jour pour rubygems. Comme il récupère ce certificat dans github, il peut fonctionner même avec un certificat SHA1. Il est également pratique car il utilise Ruby, en tirant sur la bibliothèque openssl pour placer le certificat là où il doit aller.

1
user1465368

Vous devez mettre à jour votre installation gem à la version 2.6.7. Essayez cette solution ici:

https://github.com/rubygems/rubygems/issues/177

http://guides.rubygems.org/ssl-certificate-update/#installing-using-update-packages

1
André Luiz Reis