Lorsque bundle install
j'exécute mon projet Rails 3 sur Centos 5.5, il échoue avec une erreur:
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.
Lorsque j'essaie d'installer la gemme manuellement (par gem install multi_json -v '1.3.2'
), cela fonctionne. Le même problème se produit avec plusieurs autres gemmes. J'utilise RVM (1.12.3), ruby 1.9.2, bundler 1.1.3.
Comment le réparer?
source "https://rubygems.org''
le Gemfile et en exécutant «gem update --system». Vous pouvez trouver plus d'informations ici .Réponses:
Mettre à jour
Maintenant que j'ai du karma qui est suffisamment extrait de cette réponse, tout le monde devrait savoir que cela aurait dû être corrigé.
re: via Ownatik à nouveau, l' installation du bundle échoue avec une erreur de vérification du certificat SSL
Ma réponse est toujours correcte et laissée ci-dessous pour référence si cela ne fonctionne pas pour vous.
Honnêtement, la meilleure solution temporaire est de
via l'utilisateur Ownatik
ce qu'ils signifient est en haut du
Gemfile
changement de répertoire d'application dans vos railssource 'https://rubygems.org'
à
source 'http://rubygems.org'
notez que la deuxième version est http au lieu de http s
la source
vendor
répertoire) sur le serveur dont j'ai parlé dans la question.Latest version currently installed. Aborting.
Autres idées?gem update --system
échoue avec exactement la même erreur de certificat: \Remplacez la source gem ssl par non-ssl comme solution temporaire:
la source
La raison en est les vieux rubygèmes. Vous devez d'abord mettre à jour la partie système en utilisant une source non SSL:
gem update --system --source http://rubygems.org/
(mise à jour temporaire de la partie système à l'aide d'une connexion non SSL).Vous êtes maintenant prêt à utiliser
gem update
.la source
Si vous êtes sur un Mac et utilisez une version récente de RVM (~ 1.20), la commande suivante a fonctionné pour moi.
la source
Ce problème devrait maintenant être résolu. Mettez à jour rubygems (
gem update --system
), assurez-vous que openssl est à la dernière version de votre système d'exploitation, ou essayez ces conseils qui ne fonctionnent toujours pas: http://railsapps.github.com/openssl-certificate-verify-failed.htmlla source
Solution temporaire (comme fait allusion à Ownatik):
Créez ou modifiez un fichier appelé .gemrc dans votre chemin d’accueil, y compris la ligne
:ssl_verify_mode: 0
Cela empêchera le bundler de vérifier les certificats SSL des gemmes lorsqu'il essaie de les installer.
Pour les appareils * nix, 'home path' signifie
~/.gemrc
. Vous pouvez également créer/etc/gemrc
si vous préférez. Pour Windows XP, «chemin d’accueil» signifiec:\Documents and Settings\All Users\Application Data\gemrc
. Pour Windows 7,C:\ProgramData\gemrc
la source
%USERPROFILE%\.gemrc
est également recherché pargem
sur Windows.~/.gemrc
::sources: - http://rubygems.org
Sur windows7, vous pouvez télécharger le fichier cacert.pem à partir d' ici et définir la variable d'environnement SSL_CERT_FILE sur le chemin où vous stockez le certificat, par exemple
ou vous pouvez définir la variable dans votre script comme ceci
ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
Remplacez <username> par votre propre nom d'utilisateur.
la source
La vraie solution à ce problème, si vous utilisez RVM:
gem update --system
rvm osx-ssl-certs update all
Astuce chapeau à cette astuce sur le projet RailsApps !
la source
rvm osx-ssl-certs update all
a bien fonctionné pour moi. Je n'ai pas eu besoin de faire l'étape 1.Vous pouvez télécharger une liste de certificats CA sur le site Web de curl à l'adresse http://curl.haxx.se/ca/cacert.pem
Définissez ensuite la variable d'environnement SSL_CERT_FILE pour indiquer à Ruby de l'utiliser. Par exemple, sous Linux:
(Référence: https://gist.github.com/fnichol/867550 )
la source
Pour ceux d'entre vous qui ont installé ruby via RVM et qui veulent une solution rapide (préférant ne pas lire à la demande de Bruno), essayez ceci:
Pour plus de détails, voici le lien où j'ai trouvé la solution.
http://railsapps.github.com/openssl-certificate-verify-failed.html
BTW, je n'ai pas eu à toucher mes certificats sur Ubuntu.
la source
cacert.pem
ou$rvm_path/usr/ssl
) est en effet la bonne solution.:ssl_verify_mode: 0
qui ouvre des problèmes), par opposition à l'une des 3 solutions ci-dessous, qui sont la bonne façon de résoudre ce problème.Cela a été corrigé
http://guides.rubygems.org/ssl-certificate-update/
Maintenant que RubyGems 2.6.x est sorti, vous pouvez mettre à jour manuellement vers cette version.
Téléchargez https://rubygems.org/downloads/rubygems-update-2.6.7.gem
Veuillez télécharger le fichier dans un répertoire que vous pourrez indiquer ultérieurement (par exemple, la racine de votre disque dur C :)
Maintenant, en utilisant votre invite de commande:
Après cela, gem --version devrait signaler la nouvelle version de mise à jour.
Vous pouvez maintenant désinstaller en toute sécurité rubygems-update gem:
la source
Instruction de copier-coller simple donnée ici à propos du fichier .pem
https://gist.github.com/luislavena/f064211759ee0f806c88
Échec de la vérification du certificat
la source
même problème mais avec un bijou différent ici:
solution temporaire:
gem install builder -v '3.0.0'
permet de continuerbundle install
la source
La solution la plus simple:
Voila!
la source
Voici comment résoudre ce problème sous Windows:
téléchargez le fichier .perm puis définissez SSL_CERT_FILE dans l'invite de commande
https://gist.github.com/fnichol/867550
la source
Ma solution permanente pour Windows:
Télécharger le CACert , sauf que
C:\ruby\ssl_certs\GlobalSignRootCA.pem
de http://guides.rubygems.org/ssl-certificate-update/Créer une variable système nommée " SSL_CERT_FILE ", définie sur
C:\ruby\ssl_certs\GlobalSignRootCA.pem
.Réessayez
gem install bundler
::la source
Je reçois une erreur légèrement différente, bien que peut-être liée, sur Ubuntu 12.04:
Ça arrive quand je cours
bundle install
avecsource 'https://rubygems.org'
un Gemfile.Il s'agit d'un problème avec OpenSSL sur Ubuntu 12.04. Voir le numéro 319 de Rubygems .
Pour résoudre ce problème, exécutez
apt-get update && apt-get upgrade
sur Ubuntu 12.04 pour mettre à niveau votre OpenSSL.la source
J'ai pu retracer cela au fait que les binaires qui
rvm
téléchargements ne jouent pas bien avec OpenSSL d'OS X, qui est ancien et n'est plus utilisé par le système d'exploitation.La solution pour moi était de forcer la compilation lors de l'installation de Ruby via
rvm
:la source
Merci à @ Alexander.Iljushkin pour:
gem update --system --source http://rubygems.org/
Après l'échec de ce bundler, la solution était:
gem install bundler
la source
J'obtenais une erreur similaire. Voici comment j'ai résolu ceci: dans votre répertoire de chemin, recherchez Gemfile. Modifiez la source dans le gemfile sur http au lieu de https et enregistrez-la. Cela pourrait installer le bundler sans le problème de certificat SSL.l
la source
Pour la machine Windows, vérifiez votre version gem avec
Ensuite, mettez à jour votre gem comme suit:
Veuillez télécharger le fichier dans un répertoire que vous pourrez indiquer ultérieurement (par exemple, la racine de votre disque dur C :)
Maintenant, en utilisant votre invite de commande:
Maintenant, l'installation du bundle réussira sans erreur de vérification du certificat SSL.
Des instructions plus détaillées sont ici
la source
Cela a fonctionné pour moi:
gem install --local [path to downloaded gem file]
update_rubygems
gem --version
la source
J'ai dû réinstaller openssl:
la source
J'ai récemment été confronté à ce problème et j'ai suivi les étapes décrites ici . Il est possible que vous ne pointiez pas vers le bon certificat OpenSSL. Après l'exécution:
et
le bundle complet a couru!
la source
Télécharger rubygems-update-2.6.7.gem .
Maintenant, en utilisant votre invite de commande:
Après cela,
gem --version
devrait signaler la nouvelle version de mise à jour.Vous pouvez maintenant désinstaller en toute sécurité rubygems-update gem:
la source
Pour noter, si vous récupérez des gemmes d'une source à laquelle le certificat SSL est approuvé par une autorité de certification interne (ou si vous vous connectez à une source externe via un proxy Web d'entreprise avec inspection SSL), pointez votre variable env SSL_CERT_FILE vers votre chaîne de certificats . Cela nécessite probablement d'exporter votre certificat racine de votre magasin de certificats (trousseau système sur macOS) vers un emplacement accessible à partir de votre shell, à savoir:
la source
Si vous utilisez
rails-assets
Si vous utilisiez
https://rails-assets.org/
pour gérer vos actifs, aucune réponse ne vous aidera. Même la conversion enhttp
n'aidera pas.La solution la plus simple utilise à la place de cette source,
http://insecure.rails-assets.org
. Cela a été mentionné dans leur page d'accueil .la source
La seule chose qui a fonctionné pour moi sur le système Windows hérité et la version Ruby 1.9 est le téléchargement du fichier cacert depuis http://guides.rubygems.org/ssl-certificate-update/
Et puis exécuter la commande ci-dessous avant d'exécuter l'installation du bundle
la source