Wenn ich bundle install
für mein Rails 3-Projekt unter Centos 5.5 laufe, schlägt dies mit einem Fehler fehl:
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.
Wenn ich versuche, den Edelstein manuell (von gem install multi_json -v '1.3.2'
) zu installieren , funktioniert er. Das gleiche Problem tritt bei mehreren anderen Edelsteinen auf. Ich benutze RVM (1.12.3), Ruby 1.9.2, Bundler 1.1.3.
Wie man es repariert?
source "https://rubygems.org''
behoben, indem das Gemfile hinzugefügt und 'gem update --system' ausgeführt wurde. Weitere Informationen finden Sie hier .Antworten:
Aktualisieren
Jetzt, wo ich Karma habe, das aus dieser Antwort genug gewonnen wurde, sollte jeder wissen, dass dies hätte behoben werden müssen.
re: via Ownatik erneut schlägt die Bundle-Installation mit SSL-Zertifikat-Überprüfungsfehler fehl
Meine Antwort ist immer noch richtig und wird unten als Referenz gelassen, wenn dies bei Ihnen nicht funktioniert.
Ehrlich gesagt ist die beste vorübergehende Lösung zu
über den Benutzer Ownatik
Was sie bedeuten, befindet sich oben in der
Gemfile
Änderung des Anwendungsverzeichnisses in Ihren Schienensource 'https://rubygems.org'
zu
source 'http://rubygems.org'
Beachten Sie, dass die zweite Version http anstelle von http s ist
quelle
vendor
Verzeichnis) auf den Server, über den ich in der Frage geschrieben habe.Latest version currently installed. Aborting.
andere Ideen ausgegeben .gem update --system
schlägt mit genau dem gleichen Zertifikatfehler fehl: \Ersetzen Sie die SSL-Gem-Quelle durch Nicht-SSL als temporäre Lösung:
quelle
Der Grund sind alte Rubingeme. Sie müssen den Systemteil zuerst mit einer Nicht-SSL-Quelle aktualisieren:
gem update --system --source http://rubygems.org/
(vorübergehende Aktualisierung des Systemteils über eine Nicht-SSL-Verbindung).Jetzt können Sie loslegen
gem update
.quelle
Wenn Sie auf einem Mac arbeiten und eine neuere Version von RVM (~ 1.20) verwenden, hat der folgende Befehl für mich funktioniert.
quelle
Dieses Problem sollte jetzt behoben sein. Aktualisieren Sie rubygems (
gem update --system
), stellen Sie sicher, dass openssl auf Ihrem Betriebssystem auf der neuesten Version ist, oder versuchen Sie diese Tipps, die immer noch nicht funktionieren: http://railsapps.github.com/openssl-certificate-verify-failed.htmlquelle
Temporäre Lösung (wie von Ownatik angedeutet):
Erstellen oder ändern Sie eine Datei mit dem Namen .gemrc in Ihrem Home-Pfad, einschließlich der Zeile
:ssl_verify_mode: 0
Dadurch wird verhindert, dass der Bundler die SSL-Zertifikate von Gems überprüft, wenn er versucht, sie zu installieren.
Für * nix-Geräte bedeutet "Home-Pfad"
~/.gemrc
. Sie können auch erstellen,/etc/gemrc
wenn Sie möchten. Für Windows XP bedeutet "Home-Pfad"c:\Documents and Settings\All Users\Application Data\gemrc
. Für Windows 7C:\ProgramData\gemrc
quelle
%USERPROFILE%\.gemrc
wird auch untergem
Windows gesucht .~/.gemrc
::sources: - http://rubygems.org
Unter Windows 7 können Sie die Datei cacert.pem von hier herunterladen und die Umgebungsvariable SSL_CERT_FILE auf den Pfad setzen, in dem Sie das Zertifikat speichern, z
oder Sie können die Variable in Ihrem Skript so festlegen
ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
Ersetzen Sie <Benutzername> durch Ihren eigenen Benutzernamen.
quelle
Die wirkliche Lösung für dieses Problem, wenn Sie RVM verwenden:
gem update --system
rvm osx-ssl-certs update all
Hutspitze zu diesem Tipp im RailsApps-Projekt !
quelle
rvm osx-ssl-certs update all
hat gut für mich funktioniert. Musste nicht Schritt 1 machen.Sie können eine Liste der CA-Zertifikate von der Website von curl unter http://curl.haxx.se/ca/cacert.pem herunterladen
Setzen Sie dann die Umgebungsvariable SSL_CERT_FILE, um Ruby anzuweisen, sie zu verwenden. Zum Beispiel unter Linux:
(Referenz: https://gist.github.com/fnichol/867550 )
quelle
Für diejenigen unter Ihnen, die Ruby über RVM installiert haben und eine schnelle Lösung wünschen (lieber nicht gemäß Brunos Anfrage lesen), versuchen Sie einfach Folgendes:
Für weitere Details ist hier der Link, über den ich die Lösung gefunden habe.
http://railsapps.github.com/openssl-certificate-verify-failed.html
Übrigens musste ich meine Zertifikate unter Ubuntu nicht berühren.
quelle
cacert.pem
oder$rvm_path/usr/ssl
) ist jedoch in der Tat der richtige Weg.:ssl_verify_mode: 0
die Probleme öffnet) und einer der drei darunter liegenden Lösungen gesprochen, die der richtige Weg sind, um dieses Problem zu beheben.Dies wurde behoben
http://guides.rubygems.org/ssl-certificate-update/
Nachdem RubyGems 2.6.x veröffentlicht wurde, können Sie manuell auf diese Version aktualisieren.
Laden Sie https://rubygems.org/downloads/rubygems-update-2.6.7.gem herunter
Bitte laden Sie die Datei in ein Verzeichnis herunter, auf das Sie später verweisen können (z. B. das Stammverzeichnis Ihrer Festplatte C :)
Verwenden Sie jetzt Ihre Eingabeaufforderung:
Danach sollte gem --version die neue Update-Version melden.
Sie können jetzt rubygems-update gem sicher deinstallieren:
quelle
Einfache Anleitung zum Kopieren und Einfügen, die hier über die PEM-Datei gegeben wird
https://gist.github.com/luislavena/f064211759ee0f806c88
Zur Überprüfung des Zertifikats fehlgeschlagen
quelle
gleiches Problem, aber mit unterschiedlichem Edelstein hier:
vorübergehende Lösung:
gem install builder -v '3.0.0'
Ermöglicht das Fortfahrenbundle install
quelle
Die einfachste Lösung:
Voila!
quelle
So beheben Sie dieses Problem unter Windows:
Laden Sie die PERM-Datei herunter und setzen Sie die SSL_CERT_FILE in der Eingabeaufforderung
https://gist.github.com/fnichol/867550
quelle
Mein permanenter Fix für Windows:
Laden Sie das CACert herunter und speichern Sie es
C:\ruby\ssl_certs\GlobalSignRootCA.pem
unter http://guides.rubygems.org/ssl-certificate-update/.Erstellen Sie eine Systemvariable mit dem Namen " SSL_CERT_FILE "
C:\ruby\ssl_certs\GlobalSignRootCA.pem
.Versuchen Sie es erneut:
gem install bundler
:quelle
Unter Ubuntu 12.04 wird ein etwas anderer Fehler angezeigt, der möglicherweise damit zusammenhängt:
Es passiert, wenn ich
bundle install
mitsource 'https://rubygems.org'
in einem Gemfile laufe.Dies ist ein Problem mit OpenSSL unter Ubuntu 12.04. Siehe Rubygems-Ausgabe Nr. 319 .
Um dies zu beheben, führen Sie
apt-get update && apt-get upgrade
Ubuntu 12.04 aus, um Ihre OpenSSL zu aktualisieren.quelle
Ich konnte dies daran erkennen, dass die Binärdateien das
rvm
heruntergeladenen mit OpenSSL von OS X, das alt ist und vom Betriebssystem nicht mehr verwendet wird, nicht gut funktionieren.Die Lösung für mich bestand darin, die Kompilierung bei der Installation von Ruby über Folgendes zu erzwingen
rvm
:quelle
Danke an @ Alexander.Iljushkin für:
gem update --system --source http://rubygems.org/
Nachdem dieser Bundler immer noch fehlgeschlagen war und die Lösung dafür war:
gem install bundler
quelle
Ich habe einen ähnlichen Fehler erhalten. So habe ich das gelöst: Suchen Sie in Ihrem Pfadverzeichnis nach Gemfile. Bearbeiten Sie die Quelle in der Gem-Datei in http anstelle von https und speichern Sie sie. Dadurch wird der Bundler möglicherweise ohne das SSL-Zertifikat issue.l installiert
quelle
Überprüfen Sie für Windows-Computer Ihre Gem-Version mit
Dann aktualisiere deinen Edelstein wie folgt:
Bitte laden Sie die Datei in ein Verzeichnis herunter, auf das Sie später verweisen können (z. B. das Stammverzeichnis Ihrer Festplatte C :)
Verwenden Sie jetzt Ihre Eingabeaufforderung:
Jetzt ist die Bundle-Installation ohne Fehler bei der Überprüfung des SSL-Zertifikats erfolgreich.
Eine ausführlichere Anleitung finden Sie hier
quelle
Das hat bei mir funktioniert:
gem install --local [path to downloaded gem file]
update_rubygems
gem --version
quelle
Ich musste openssl neu installieren:
quelle
Ich war vor kurzem mit diesem Problem konfrontiert und folgte die beschriebenen Schritte hier . Möglicherweise zeigen Sie nicht auf das richtige OpenSSL-Zertifikat. Nach dem Rennen:
und
das Bundle komplett lief!
quelle
Laden Sie rubygems-update-2.6.7.gem herunter .
Verwenden Sie jetzt Ihre Eingabeaufforderung:
Danach,
gem --version
sollte die neue Update-Version gemeldet werden.Sie können jetzt rubygems-update gem sicher deinstallieren:
quelle
Wenn Sie Edelsteine aus einer Quelle abrufen, deren SSL-Zertifikat von einer internen Zertifizierungsstelle als vertrauenswürdig eingestuft wird (oder die Sie über einen Unternehmens-Webproxy mit SSL-Überprüfung mit einer externen Quelle verbinden), verweisen Sie Ihre env-Variable SSL_CERT_FILE auf Ihre Zertifikatkette . Dies erfordert höchstwahrscheinlich nur das Exportieren Ihres Stammzertifikats aus Ihrem Zertifikatspeicher (System Keychain unter macOS) an einen zugänglichen Ort aus Ihrer Shell, dh:
quelle
Wenn Sie verwenden
rails-assets
Wenn Sie
https://rails-assets.org/
Ihr Vermögen verwaltet haben, helfen Ihnen keine Antworten. Selbst das Konvertieren inhttp
wird nicht helfen.Die einfachste Lösung ist die Verwendung dieser Quelle
http://insecure.rails-assets.org
. Dies wurde auf ihrer Homepage erwähnt .quelle
Das einzige, was für mich unter älteren Windows-Systemen und Ruby 1.9 funktioniert hat, ist das Herunterladen der Cacert-Datei von http://guides.rubygems.org/ssl-certificate-update/
Führen Sie dann den folgenden Befehl aus, bevor Sie die Bundle-Installation ausführen
quelle