web-dev-qa-db-fra.com

Comment dire à la commande gem de ne pas utiliser SSL

J'essaie d'exécuter la commande gem pour installer/mettre à jour certaines gemmes, mais en raison de certaines restrictions de réseau dans cette zone, j'obtiens cette erreur:

ERROR:  While executing gem ... (OpenSSL::SSL::SSLError)
    SSL_connect returned=6 errno=0 state=SSLv3 read finished A

(Je pense) c'est principalement à cause de la falsification des certificats SSL.
Est-il possible de dire à gem de ne pas utiliser SSL, pour éviter l'erreur?

28
Omid Kamangar

Utilisez HTTP au lieu de HTTPS si vous ne parvenez pas à résoudre le problème des certificats:

$ gem install Rails --source http://rubygems.org

Pour éviter de répéter cette opération à chaque fois, modifiez votre ~/.gemrc ou modifiez le fichier via la ligne de commande, comme ceci:

$ gem sources --add http://rubygems.org
$ gem sources --remove https://rubygems.org
$ gem sources --list

*** CURRENT SOURCES ***
http://rubygems.org

De plus, chaque Gemfile vous devrez changer la première ligne de:

source 'https://rubygems.org'

À:

source 'http://rubygems.org'

Bien sûr, il serait préférable de résoudre le problème certs comme l'a suggéré @ p11y dans son commentaire.

56
Leo Gallucci

La réponse acceptée n'a pas fonctionné pour moi. Ce qui suit, cependant, l'a fait.

Modifier le fichier .gemrc - Sous Windows c:\Users\yourusername\.gemrc

ajouter:

:ssl_verify_mode: 0

Il a affiché les erreurs SSL mais l'installation a réussi.

4
JerodG