SSL-Fehler Bei der Installation von Rubygems können keine Daten von 'https://rubygems.org/' abgerufen werden.

269

Ich versuche das Michael Hartl Tutorial zu machen. Wenn ich versuche, Rails 3.2.14 in meinem Gemset zu installieren, tritt das folgende Problem auf:

$ gem Install Rails -v 3.2.14

FEHLER: Es konnte kein gültiger Edelstein 'Schienen' (= 3.2.14) gefunden werden. Hier ist der Grund:

Daten können nicht von https://rubygems.org/ heruntergeladen werden - SSL_connect zurückgegeben = 1 errno = 0 state = SSLv3-Leseserverzertifikat B: Zertifikatüberprüfung fehlgeschlagen ( https://s3.amazonaws.com/production.s3.rubygems.org /specs.4.8.gz )

Nachdem ich herumgegoogelt hatte, stellte ich fest, dass ich eine Nicht-SSL-Quelle für Rubygems verwenden konnte, also lief ich:

sudo gem sources -a http://rubygems.org

Als ich dann erneut versuchte, Schienen zu installieren, war dies erfolgreich. Ich habe das obige Problem jedoch immer noch erhalten, aber als Warnung:

WARNUNG: Daten können nicht von ' https://rubygems.org/ ' abgerufen werden: SSL_connect zurückgegeben = 1 errno = 0 state = SSLv3-Leseserverzertifikat B: Zertifikatüberprüfung fehlgeschlagen ( https://s3.amazonaws.com/production.s3 .rubygems.org / specs.4.8.gz )

Wie kann ich diese Warnung / diesen Fehler vollständig entfernen?

Ich benutze folgendes:

  • rvm 1.22.15
  • ruby 2.0.0p247 (27.06.2013, Revision 41674) [x86_64-darwin12.3.0]
  • OSX 10.8.5
tpw
quelle
Es sieht fast wie ein Regressionsfehler aus. Ich habe festgestellt, dass einer meiner Schüler heute unter OS X das gleiche Problem hat. Ich arbeite immer noch an dem Problem. Es gibt andere verwandte Fragen (identisch?) Zu SO aus dem letzten Jahr.
VGoff
Dies ist ein bekannter Fehler in obsoleten ( 2.0.*) Versionen von rubygems. Versuchen Sie, auf die neueste Rubygems-Version zu aktualisieren: gem update --systemund führen Sie sie erneut aus gem install.
Aleksei Matiushkin
Wenn es in Ordnung ist, Ihre Ruby-Version zu aktualisieren, aktualisieren Sie sie. Dieses Problem wurde in einer neueren Ruby-Version behoben.
Hong
Nach dem Hinzufügen der http-Quelle gem sources -r https://rubygems.org/funktionierte das Ausführen für mich (bis zum Entfernen der Warnung).
BrainSlugs83
Es gibt zu viele lange Antworten, während dies unter Linux / Mac in einer Zeile aussortiert werden kann: stackoverflow.com/a/56993071/5689995
Laimison

Antworten:

382

Für RVM- und OSX-Benutzer

Stellen Sie sicher, dass Sie das neueste RVM verwenden:

rvm get stable

Dann können Sie zwei Dinge tun:

  1. Zertifikate aktualisieren:

    rvm osx-ssl-certs update all
  2. Rubygems aktualisieren:

    rvm rubygems latest

Für Nicht-RVM-Benutzer

Pfad für Zertifikat suchen:

cert_file=$(ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE')

Zertifikat generieren:

security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

Der gesamte Code: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs


Für Nicht-OSX-Benutzer

Stellen Sie sicher, dass Sie das Paket aktualisieren ca-certificates. (Auf alten Systemen ist es möglicherweise nicht verfügbar. Verwenden Sie kein altes System, das keine Sicherheitsupdates mehr erhält.)

Windows Hinweis

Die Ruby - Installer bauen für Fenster durch vorbereitet Luis Lavena und der Weg zu Zertifikaten wird so etwas wie zeigen , C:/Users/Luis/...Check https://github.com/oneclick/rubyinstaller/issues/249 für weitere Einzelheiten und diese Antwort https://stackoverflow.com / a / 27298259/497756 zur Behebung.

mpapis
quelle
Gibt es eine andere Möglichkeit, die Zertifikate zu aktualisieren, wenn Sie RVM nicht verwenden?
Eduardo
Das Ausführen rvm rubygems latestführte zu einem Fehler, der sich über fehlende Prüfsummen beschwerte. Allerdings begannen die Dinge auch ohne das zu funktionieren ... anscheinend könnten Sie es erzwingen, --verify-downloads 1wenn Sie müssten. Irgendwelche Ideen, warum das so sein könnte? Es wurde versucht, die Version abzurufenrubygems-2.1.6
Timo
rvm codiert die md5s für Downloads in ihrem Code fest. Ich habe sie gerade zur headVersion hinzugefügt und werde sie stablebald veröffentlichen.
Papis
2
Ich führe das unter Windows aus und erhalte einen Pfad, der auf meinem Computer nicht einmal vorhanden ist. "C: /Users/Luis/Code/openknapsack/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0k/ssl /cert.pem "Es gibt auch keinen Benutzer namens Luis. Was zum Teufel?
Isimmons
3
Irgendwelche Vorschläge für Mac Mojave-Benutzer? Laufen inpermission denied: /private/etc/ssl/cert.pem
Chandrew
241

Neueste Erkenntnisse ...

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

Am wichtigsten ... herunterladen https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem

Finde heraus, wo du es anbringen sollst

C:\>gem which rubygems
C:/Ruby21/lib/ruby/2.1.0/rubygems.rb

Kopieren Sie dann einfach die PEM-Datei in ../2.1.0/rubygems/ssl_certs/ und fahren Sie mit Ihrem Geschäft fort.

beauXjames
quelle
8
Stellen Sie sicher, dass Sie mit der .pemErweiterung speichern , nicht .pem.txt!
Dan Dascalescu
3
Was ist, wenn es nicht funktioniert? Ich habe getan, wie Ihre Antworten sagen, aber ich bekomme immer noch den Fehler! 1) Ich habe eine Datei erhalten AddTrustExternalCARoot-2048.pem, 2) Ich habe die Datei abgelegt C:\Ruby193\lib\ruby\1.9.1\rubygems\ssl_certs, 3) Ich laufe gem install susyund erhalte den gleichen FehlerUnable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Grün
Versuchen Sie, Ihre Ruby-Installation zu aktualisieren ... diese Zusammenfassung garantiert keine Abwärtskompatibilität mit Ihrer Version
beauXjames
1
Einige Notizen zu dem von Ihnen angegebenen Luis Lavena-Link. Möglicherweise möchten Sie Rubygems aus einer Gem-Datei anstelle der von ihm erwähnten Zip-Dateien installieren. Ich habe keinen Befehl zum Installieren von einer entpackten Edelstein- oder Zip-Datei gefunden. Juwel hier - rubygems.org/pages/download . Der Befehl ist -gem install --local C:\Downloads\rubygems-update-2.4.5.gem
Erran Morad
9
Der Download-Link ist nicht mehr gültig. Für diejenigen von Ihnen, die immer noch mit diesem Problem konfrontiert sind, beziehen Sie sich auf Dheerendras Antwort für eine Lösung
Llama.new
174

Für Windows-Benutzer

Gehe zum Link http://rubygems.org/pages/download

  1. Laden Sie die neueste Zip-Datei herunter (in meinem Fall 2.4.5)
  2. Entpacke es
  3. Führen Sie "ruby setup.rb" im entpackten Ordner aus
  4. Führen Sie jetzt den Befehl gem install aus
Dheerendra Kulkarni
quelle
1
Arbeitete für mich unter Windows 8.1, Ruby 2.0.0. Prost.
Yi Zeng
7
Beste Lösung für Windows-Benutzer
Sorin Haidau
1
Viel einfacher als die in anderen Antworten aufgeführten Alternativen für Windows und funktionierte perfekt unter Windows 7 64-Bit. Vielen Dank!
Gurgadurgen
1
Das funktioniert bei mir nicht. Devkit ist nicht kompatibel mit der neuesten Version von Ruby unter Windows 7
Roo2
2
Funktioniert für mich unter Windows 10 und Ruby 2.1.0. Vielen Dank!
MSC
54

Wenn Sie die Nicht-SSL-Quelle verwenden möchten, entfernen Sie zuerst die HTTPS-Quelle und fügen Sie dann die HTTP-Quelle hinzu:

sudo gem sources -r https://rubygems.org
sudo gem sources -a http://rubygems.org  

AKTUALISIEREN:

Wie mpapis feststellt, sollte dies nur als vorübergehende Problemumgehung verwendet werden. Es kann einige Sicherheitsbedenken geben, wenn Sie über die Nicht-SSL-Quelle auf RubyGems zugreifen.

Sobald die Problemumgehung nicht mehr benötigt wird, sollten Sie die SSL-Quelle wiederherstellen:

sudo gem sources -r http://rubygems.org
sudo gem sources -a https://rubygems.org
Eduardo
quelle
Nicht nach unten abstimmen, da dies dieses unmittelbare Problem
löst
1
Ich habe die Antwort aktualisiert, um zu verdeutlichen, dass dies nur eine Problemumgehung für das Root-Problem ist. Ich habe gerade versucht, Terins Problem zu lösen, als er versuchte, die Nicht-SSL-Quelle zu verwenden.
Eduardo
5
Zu Ihrer Information, ich musste tun sudo gem sources -r https://rubygems.org/und sudo gem sources -r http://rubygems.org/. Beachten Sie das Nachlaufen /.
Ross Rogers
Ja, das ist möglich. Ich denke, es hängt davon ab, wie die Quelle überhaupt hinzugefügt wurde. Ich meine, wenn die Quelle mit dem Trailing hinzugefügt wurde /, sollte sie auch mit dem Trailing entfernt werden /.
Eduardo
Die einzige Lösung, die für mich funktioniert hat, um das Juwel fu @ ^! # Herunterzuladen. Ich danke dir sehr!
Genarito
16

Unter Windows müssen Sie die HTTPQuelle zum Aktualisieren verwenden und gemdann wieder zur Verwendung wechseln HTTPS.

gem sources -r https://rubygems.org/
gem sources -a http://rubygems.org/
gem update --system
gem sources -r http://rubygems.org/
gem sources -a https://rubygems.org/

Bearbeiten: Warnung Ich bin nicht sicher, ob dies sicher ist . Weiß jemand, ob Ruby-Pakete signiert sind? Die akzeptierte Antwort scheint eine bessere Lösung zu sein.

roo2
quelle
Danke für das Teilen; Das vorübergehende Ändern von https in http hat funktioniert, aber ich musste die Gem-Datei direkt ändern.
Noha Kareem
2
In meinem Fall brauchte ich ein Trailing / mit der https-URL.
Alwyn Schoeman
1
Als Aktualisierung dieser Antwort ist es eine gute Idee, bevor Sie beginnen, gem sources -lIhre Quellen vor und nach der Aktualisierung des Systems anzuzeigen. Wenn die Aktualisierung fehlschlägt, geben Sie direkt nach dem --system eine Versionsnummer an. Siehe rubygems.org/gems/rubygems-update/versions oder fragen Sie den Mitarbeiter nach welchen gem -vBerichten.
Gary S. Weaver
10

Für Windows-Benutzer (und möglicherweise andere)

Rubygems.org hat eine Anleitung, die nicht nur erklärt, wie dieses Problem behoben werden kann, sondern auch, warum so viele Menschen es haben: SSL-Zertifikat-Update des Der Grund für das Problem ist, dass rubygems.org auf ein sichereres SSL-Zertifikat (SHA-2) umgestellt hat 256-Bit-Verschlüsselung verwenden). Das Rubygems-Befehlszeilentool bündelt den Verweis auf das richtige Zertifikat. Daher können Rubygems selbst nicht mit einer älteren Version von Rubygems aktualisiert werden. Rubygems müssen zuerst manuell aktualisiert werden.

Finden Sie zuerst heraus, welche Rubine Sie haben:

rubygems v

Je nachdem, ob Sie eine Version 1.8.x, 2.0.x oder 2.2.x haben, müssen Sie ein Update-Juwel mit dem Namen „rubygems-update-XYZgem“ herunterladen, wobei XYZ die von Ihnen benötigte Version ist. Ausführen von 1.8.x: Download: https://github.com/rubygems/rubygems/releases/tag/v1.8.30 Ausführen von 2.0.x: Herunterladen: https://github.com/rubygems/rubygems/releases/tag/v2 .0.15 Ausführen von 2.2.x: Download: https://github.com/rubygems/rubygems/releases/tag/v2.2.3

Installieren Sie das Update gem:

gem install –-local full_path_to_the_gem_file

Führen Sie das Update-Juwel aus:

update_rubygems --no-ri --no-rdoc

Überprüfen Sie, ob Rubygems aktualisiert wurde:

rubygems v

Deinstallieren Sie das Update gem:

gem uninstall rubygems-update -x

An diesem Punkt sind Sie möglicherweise in Ordnung. Möglicherweise verfügen Sie jedoch nicht über die neueste öffentliche Schlüsseldatei für das neue Zertifikat. Um dies zu tun:

Laden Sie das neueste Zertifikat (derzeit AddTrustExternalCARoot-2048.pem) von https://rubygems.org/pages/download herunter . Alle Zertifikate befinden sich auch unter: https://github.com/rubygems/rubygems/tree/master/lib/rubygems/ssl_certs

Finden Sie heraus, wo Sie es ablegen sollen:

gem which rubygems

Legen Sie diese Datei an dieser Stelle im Verzeichnis „rubygems \ ssl_certs“ ab.

Wie pro rubygems begehen , werden die Zertifikate auf spezifischere Verzeichnisse verschoben. Daher wird derzeit erwartet, dass sich das Zertifikat (AddTrustExternalCARoot-2048.pem) auf dem folgenden Pfad befindetlib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem

John Pankowicz
quelle
8

Versuchen Sie, die Quellwebsite für die Edelsteine ​​zu verwenden, z. B. rubygems.org. Verwenden Sie http anstelle von https. Diese Methode beinhaltet keine Arbeit wie das Installieren von Zertifikaten und all das.

Beispiel -

gem install typhoeus --source http://rubygems.org

Dies funktioniert, aber es gibt eine Einschränkung.

Das Juwel ist installiert, aber die Dokumentation ist nicht auf Zertifizierungsfehler zurückzuführen. Hier ist der Fehler, den ich bekomme

Parsing documentation for typhoeus-0.7.0 WARNING: Unable to pull 
data from 'https://rubygems.org/': SSL_connect returned=1 errno=0 
state=SSLv3 read server certificate B: certificate verify failed 
(https://rubygems.org/latest_specs.4.8.gz)
Erran Morad
quelle
7

Laufen gem update --systemhat bei mir funktioniert

user3408293
quelle
6
Dies funktionierte auch für mich unter Windows. Ich musste vorübergehend zu klassischem HTTP wechseln, dann aktualisieren und dann wieder zu SSL wechseln.
Tom Mayfield
1
ERROR. SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
Grün
Edelsteinquellen - entfernen rubygems.org Edelsteinquellen -a rubygems.org Edelstein Update
Stefan Steiger
4

Stellen Sie sicher, dass Ihre Systemuhr korrekt ist

Dieser genaue Fehler ist mir heute auf einer virtuellen Ubuntu-Maschine passiert, die auf VirtualBox ausgeführt wird. Ich habe die meisten der oben gezeigten Lösungen ausprobiert, bevor ich bemerkte, dass ich aus einem sehr alten Schwebezustand zurückgekehrt war und meine Uhr um viele Tage ausgeschaltet war.

Das sofortige Aktualisieren der Uhr hat mein Problem behoben. Hier ist der Befehl, den ich in meinem Fall verwendet habe:

sudo service ntp stop && sudo ntpdate pool.ntp.org && sudo service ntp start

dbrewer
quelle
4

Durch einfaches Deinstallieren und erneutes Installieren von openssl mit homebrew wurde dieses Problem für mich gelöst.

brew uninstall --force openssl

brew install openssl

ntj
quelle
1
Bei neueren Versionen von Homebrew müssen Sie den Befehl möglicherweise folgendermaßen ausführen: brew uninstall --ignore-dependencies openssl(entspricht der alten forceFlagge)
Batkins
3

Für Fedora-Benutzer

Aktualisieren Sie die cert.pemneueste Datei, die von cURL bereitgestellt wird: http://curl.haxx.se/ca/cacert.pem

curl -o `ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE' |tr -d \"` http://curl.haxx.se/ca/cacert.pem
ENDOH takanao
quelle
Gibt es dafür Windows Cmd oder Powershell?
Erran Morad
3

Wenn Sie Windows verwenden, öffnen Sie https://rubygems.org/ mit dem Internet Explorer.

Klicken Sie auf Sicherheitsinformationen und importieren Sie das Zertifikat. Unter dem Strich ist Ihre Zertifizierungskette veraltet und Sie müssen dieses neue Zertifikat hinzufügen. Denken Sie daran, dass dies keine Sicherheitsverletzung ist, solange Sie das Zertifikat als vertrauenswürdig validieren können.

Paulo Fidalgo
quelle
Das hat nichts für mich getan ... Verwendet OpenSSL überhaupt den Windows-Zertifikatspeicher?
Julien Ruffin
2

In meinem Fall waren die Ubuntu CA-Zertifikate veraltet. Ich habe es behoben, indem ich ausgeführt habe:

 sudo update-ca-certificates
Maniek
quelle
2

Ansatz / Einzeiler, der automatisiert werden kann, um Edelsteine ​​über HTTP anstelle von HTTPS herunterzuladen:

printf -- '---\n:sources:\n- http://rubygems.org\n' | tee ~/.gemrc
Laimison
quelle
Funktioniert perfekt, wenn Sie auf ein Problem in einem Docker-Container stoßen!
user7364588
1

Der besondere Fall von RubyGems (dem Befehlszeilentool) besteht darin, dass die Vertrauenszertifikate in seinem Code gebündelt werden müssen, damit RubyGems eine Verbindung zu den Servern herstellen kann, auch wenn das Basisbetriebssystem deren Identität nicht überprüfen kann.

Bis vor einigen Monaten wurde dieses Zertifikat von einer Zertifizierungsstelle bereitgestellt, ein neueres Zertifikat jedoch von einer anderen.

Aus diesem Grund müssten vorhandene Installationen von RubyGems vor dem Wechsel des Zertifikats aktualisiert werden und genügend Zeit für die Verbreitung der Änderung (und für die Aktualisierung der Benutzer) geben.

Jeder kann seine Lösung finden, indem er die einfachen Schritte befolgt, die unter dem folgenden Link angegeben sind

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

ImranNaqvi
quelle
1

Versuchen

gem update --system

Hoffe, es löst das Problem.

puneet18
quelle
Funktioniert bei mir. Vielen Dank. Ubuntu; Ruby wurde mit using installiert apt install ruby.
Marslo
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
Jonathan
1

Laden Sie die Datei cacert.pem von http://curl.haxx.se/ca/cacert.pem herunter . Speichern Sie diese Datei unter C: \ RailsInstaller \ cacert.pem.

Machen Sie Ruby jetzt auf Ihr Zertifizierungsstellenpaket aufmerksam, indem Sie SSL_CERT_FILE festlegen. Geben Sie Folgendes ein, um dies in Ihrer aktuellen Eingabeaufforderungssitzung festzulegen:

Setzen Sie SSL_CERT_FILE = C: \ RailsInstaller \ cacert.pem

Shubham Kumar Gupta Ggps
quelle
0

Ich hatte das gleiche Problem beim Versuch, Gurkenjuwel zu installieren. Mir ist jedoch aufgefallen, dass Bundler Gem bereits mit Ruby 2.0 installiert ist. Ich habe eine Gemfile.rb im Projektordner mit den erforderlichen Gems erstellt und diese Schritte ausgeführt

  1. Navigieren Sie zum Projektordner
  2. Geben Sie bundle install ein

Alle erforderlichen Edelsteine ​​installiert.

user3037926
quelle
0

Für Illumos / Solaris mit OpenCSW pkgutil:

Installieren Sie CSW-Zertifikate vor der Gem-Installation.

pkgutil -yi CSWcacertificates

Wenn Sie ein Ruby-Kit verwenden, das nicht von OpenCSW stammt, erwartet Ihre Ruby-Version möglicherweise, dass die Zertifikatdatei an einem anderen Ort gefunden wird. In diesem Fall habe ich einfach OpenCSWs /etc/opt/csw/ssl/cert.pem mit dem erwarteten Ort verknüpft.

Überprüfen Sie, wo Ruby es erwartet:

export cf=`ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE'` && echo $cf

Wenn es dann eine Diskrepanz gibt, verknüpfen Sie sie:

ln -s /etc/opt/csw/ssl/cert.pem $cf && file $cf
Jacob
quelle
0

Oder kann durch eine Firewall wie mich verhindert werden. Versuche dies:

sudo gem install --http-proxy http: // localhost: port cocoapods -V

Victor Choy
quelle
0

Für Windows-Benutzer:

Nach der erfolgreichen Installation von Ruby 2.2.3 (+ rubygems 2.5.1) auf einem Testcomputer mit Internetzugang trat dieser SSL-Fehler auf, als ich den Bundler auf einem Produktionscomputer im Netzwerk installierte.

Da ich Netzwerkzugriffsbeschränkungen hatte und es keine Möglichkeit gab, die Einstellungen für den SSL-Zugriff zu ändern, und basierend auf den Fehlermeldungen die folgenden Schritte ausgeführt habe, um die Installation des Bundlers abschließen zu können (dies mag verrückt klingen, aber es klingt hat funktioniert...).

Laden Sie über einen Computer mit uneingeschränktem Zugriff auf das Internet die folgenden Dateien herunter:

Ich habe diese Dateien auf einem Intranetserver hinzugefügt und dabei die Ordnerstruktur der obigen Links beibehalten:

  • $ INTRANET_HOME

spec.4.8.gz e latest_specs.4.8.gz

  • $ INTRANET_HOME \ quick \ Marshal.4.8

bundler-1.11.2.gemspec.rz

  • $ INTRANET_HOME \ gems

bundler-1.11.2.gem

Dann habe ich mein Intranet hinzugefügt, um auf die Edelsteinquelle zuzugreifen:

gem sources -a http://mydomain.com.br

Ich habe mit Erfolg den "gem install bundler" nach der Installation ausgeführt, alles was es brauchte war mein Intranet des gem zu entfernen:

gem sources -r http://mydomain.com.br

Ich hoffe das ist in jeder ähnlichen Situation nützlich ....

Rogério Arantes
quelle
0

Als Windows 10-Benutzer folgte ich der Antwort von Dheerendra und es funktionierte eines Tages für mich. Am nächsten Tag erlebte ich das Problem erneut und sein Fix funktionierte nicht. Für mich war das Update zu aktualisieren bundlermit:

gem update bundler

Ich glaube, meine Version von bundlerwar mehr als ein paar Monate alt.

Alexander
quelle
0

Stellen Sie sicher, dass Sie Ruby mit der Option --disable-binary installiert haben. Wenn nicht, deinstallieren Sie es und installieren Sie es mit der Option neu.

Mehr Infos hier

Feuda
quelle
0

Die Antwort ist nicht mehr gültig. Da ich jetzt auf das Problem mit älterem Windows Ruby gestoßen bin, werde ich die Antwort veröffentlichen.

Als ich ein aktives Unterstützungsjuwel installieren wollte:

gem in activesupport --version 5.1.6

ERROR:  Could not find a valid gem 'activesupport' (= 5.1.6), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B
: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)

Die folgenden Schritte müssen nur die Zertifikate von neueren Windows Ruby kopieren. Nehmen Sie den neuesten Rubin (oder mindestens Rubin 2.4.0 ) und gehen Sie wie folgt vor:

Kopieren Sie Zertifikate aus diesen Verzeichnissen (passen Sie sie an Ihre Bedürfnisse an):
C:\prg_sdk\rubies\Ruby-2.4\lib\ruby\2.4.0\rubygems\ssl_certs\rubygems.org
C:\prg_sdk\rubies\Ruby-2.4\lib\ruby\2.4.0\rubygems\ssl_certs\index.rubygems.org

zum Ziel (wieder auf das einstellen, was Sie brauchen):
C:\prg_sdk\rubies\Ruby231-p112-x64\lib\ruby\2.3.0\rubygems\ssl_certs

Tukan
quelle