Beim Versuch, Ruby 1.9.2 herunterzuladen, tritt bei RVM ein Zertifikatfehler auf. Es sieht so aus, curl
als hätte ich ein Zertifikatproblem, aber ich bin mir nicht sicher, wie ich es umgehen soll. Ich habe die genauen Fehlerinformationen unten angegeben.
$ rvm install 1.9.2
Installing Ruby from source to: /Users/willdennis/.rvm/rubies/ruby-1.9.2-p180, this may take a while depending on your cpu(s)...
ruby-1.9.2-p180 - #fetching
ERROR: Error running 'bunzip2 '/Users/willdennis/.rvm/archives/ruby-1.9.2-p180.tar.bz2'', please read /Users/willdennis/.rvm/log/ruby-1.9.2-p180/extract.log
ruby-1.9.2-p180 - #extracting ruby-1.9.2-p180 to /Users/willdennis/.rvm/src/ruby-1.9.2-p180
ruby-1.9.2-p180 - #extracted to /Users/willdennis/.rvm/src/ruby-1.9.2-p180
Fetching yaml-0.1.3.tar.gz to /Users/willdennis/.rvm/archives
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
ERROR: There was an error, please check /Users/willdennis/.rvm/log/ruby-1.9.2-p180/*.log. Next we'll try to fetch via http.
Trying http:// URL instead.
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
ERROR: There was an error, please check /Users/willdennis/.rvm/log/ruby-1.9.2-p180/*.log
Extracting yaml-0.1.3.tar.gz to /Users/willdennis/.rvm/src
ERROR: Error running 'tar zxf /Users/willdennis/.rvm/archives/yaml-0.1.3.tar.gz -C /Users/willdennis/.rvm/src --no-same-owner', please read /Users/willdennis/.rvm/log/ruby-1.9.2-p180/yaml/extract.log
/Users/willdennis/.rvm/scripts/functions/packages: line 55: cd: /Users/willdennis/.rvm/src/yaml-0.1.3: No such file or directory
Configuring yaml in /Users/willdennis/.rvm/src/yaml-0.1.3.
ERROR: Error running ' ./configure --prefix="/Users/willdennis/.rvm/usr" ', please read /Users/willdennis/.rvm/log/ruby-1.9.2-p180/yaml/configure.log
Compiling yaml in /Users/willdennis/.rvm/src/yaml-0.1.3.
ERROR: Error running '/usr/bin/make ', please read /Users/willdennis/.rvm/log/ruby-1.9.2-p180/yaml/make.log
Installing yaml to /Users/willdennis/.rvm/usr
ERROR: Error running '/usr/bin/make install', please read /Users/willdennis/.rvm/log/ruby-1.9.2-p180/yaml/make.install.log
ruby-1.9.2-p180 - #configuring
ERROR: Error running ' ./configure --prefix=/Users/willdennis/.rvm/rubies/ruby-1.9.2-p180 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/willdennis/.rvm/usr ', please read /Users/willdennis/.rvm/log/ruby-1.9.2-p180/configure.log
ERROR: There has been an error while running configure. Halting the installation.
Wie kann ich diesen Fehler beheben oder vermeiden?
ruby-on-rails
curl
rvm
Will Dennis
quelle
quelle
Antworten:
Falls jemand anderes beim Versuch, auf 1.9.3 zu aktualisieren (obwohl die Version wahrscheinlich keine Rolle spielt), darauf stößt, überprüfen Sie die Version von rvm, die Sie haben. Wayne scheint von rvm.beginrescueend.com zu rvm.io gewechselt zu sein. Das Sicherheitszertifikat der alten Site ist abgelaufen, sodass die Antwort von curl korrekt ist.
Das Aktualisieren von rvm von der neuen Site hat dieses Problem behoben und mir ermöglicht, weiterzumachen.
Update : Wie @rodgerdpack erwähnt, ändert sich der Befehl und ich habe das oben genannte aktualisiert. Die neuesten Informationen finden Sie im Allgemeinen unter https://rvm.io/ .
quelle
Wenn Sie das Skript nicht ändern möchten UND Sie dem Zertifikatspaket kein Zertifikat "für immer" hinzufügen möchten. Es gibt eine sehr schöne und schnelle Lösung:
Führen Sie dann Ihr Skript aus. Um die Umgebungsvariable zurückzusetzen (für nachfolgende Skriptaufrufe, die dieses Zertifikat nicht verwenden sollten), melden Sie sich erneut bei Ihrem System an oder deaktivieren Sie die Umgebungsvariable:
quelle
Curl wird in .rvm / scripts / fetch aufgerufen, das sich standardmäßig in Ihrem Home-Verzeichnis befindet.
Bearbeiten Sie dies mit Ihrem bevorzugten Texteditor: Zum Beispiel:
In den Zeilen 56 und 58 (kann natürlich mit anderen Versionen von RVM variieren) sehen Sie zwei Zeilen, die beginnen
Fügen Sie einfach -k nach dem Einrollen hinzu, speichern Sie es und versuchen Sie es erneut.
quelle
echo insecure >> ~/.curlrc
oder aktualisieren Sie die Zertifikate besser gemäß den Anweisungen vonSie müssen das ca-Zertifikat von http://curl.haxx.se/ca/cacert.pem herunterladen und zu Ihrer Datei curl-ca-bundle-new.crt hinzufügen.
Um den Speicherort dieser Datei zu ermitteln, verwenden Sie:
Sichern Sie Ihre Datei curl-ca-bundle.crt:
Dann möchten Sie die beiden Dateien verketten mit:
quelle
Vielleicht waren all diese komplizierten Lösungen einmal notwendig, aber jetzt müssen Sie nur noch RVM aktualisieren und Ihr Problem wird gelöst:
quelle
Wenn es Ihnen nichts ausmacht, das Zertifikat zu deaktivieren, überprüfen Sie Curl (ich nicht):
quelle
Unter Centos 5.6 (Final) hatte ich ein Problem mit der Installation von rvm 1.9.2. Der Fehler war:
Hier ist eine Liste von Aktionen, die mir geholfen haben, das Problem zu lösen
Btw Curl-Version ist Curl 7.18.0 (um '$ curl -V' zu überprüfen)
quelle
Ich habe versucht zu installieren
ruby-1.9.2-p290
und bin auf das gleiche Problem gestoßen. Nachdemwhich curl
ich ausgeführt und festgestellt hatte, dass die Curl-Instanz von einer Installation von MAMP auf meinem System (OS X Snow Leopard) stammt, konfigurierte ich meinePATH
Variable neu, um den Systemstandard bei zu verwenden/usr/bin/curl
. Mit dieser Version hattecurl 7.19.7
ich kein Problem damit, die neueste Version von Ruby mit RVM zu installieren.quelle
Ich hatte Probleme bei der Installation von 1.9.2 mit RVM. Hier ist meine Lösung:
Führen Sie die folgenden Befehle aus:
chmod 777 yaml-0.1.3.tar.gz
tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src
Ich habe immer noch den Fehler "Datei nicht gefunden" erhalten, aber die Installation war weiterhin erfolgreich
quelle
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz; cp yaml-0.1.4.tar.gz /Users/yourname/.rvm/archives; rvm install default
Vielen Dank, Dorothy. Dieses Rezept hat bei mir mit den folgenden geringfügigen Änderungen für eine Win7-Umgebung funktioniert:
Für andere mit diesem Problem -
Schätzen Sie die Diskussion über das Aktualisieren des CA_Bundle - Gut zu tun, aber es hat bei diesem Problem nicht geholfen - das pyyaml-Website-Zertifikat führt weiterhin dazu, dass CURL einen Fehler auslöst, und da CURL im Installationsprogramm gestartet wird, kann keine Option -k hinzugefügt werden .
Ruby 1.9.2-p290 versucht, YAML 0.1.4 zu installieren, damit Google einen Spiegel erhält und diese Version herunterlädt. YAML-0.1.3 hat keine Auswirkungen auf die Umgehung der Probleme.
Sie müssen das Windows-Äquivalent von CHMOD 777 ausführen - im Ordner rvm / src zu den extrahierten Dateien. Ändern Sie die Sicherheit so, dass jeder Eigentümer / alle Berechtigungen hat, und deaktivieren Sie das schreibgeschützte Attribut für alle Dateien und Ordner.
Das Installationsprogramm gibt weiterhin Fehler aus, wenn es versucht, es herunterzuladen (CURL-Fehler), setzt es jedoch fort, indem es versucht, es zu extrahieren. Die Extraktion löst Fehler aus, da der Tarball bereits in den Ordner src extrahiert wurde. Der nächste Schritt zum Konfigurieren von YAML sollte fehlerfrei funktionieren, wenn die Berechtigungen in Schritt 3 korrekt festgelegt wurden und die Installation ohne weitere Probleme abgeschlossen werden sollte. (Bei der Installation über cygwin / bash müssen Sie einen C-Compiler wie 'gcc' hinzufügen und 'ncurses' (Befehl tput) und 'make' zu den Standard-Cygwin-Setup-Optionen hinzufügen.)
quelle
quelle