webentwicklung-frage-antwort-db.com.de

Opensl in Rubin konnte nicht benötigt werden

Ich habe openssl in meiner virtuellen Maschine ubuntu12.04lts installiert.

Wenn ich den gem-Befehl ausführen, wird ein Fehler angezeigt.

Fehler: beim Ausführen von gem (Gem :: Exception)
Openssl kann nicht angefordert werden. Installieren Sie openSSL und erstellen Sie Ruby neu (bevorzugt) oder verwenden Sie keine HTTPs-Quellen

Und ich teste auch openssl im irb-Modus. Es gibt einen Fehler.

Loaderror: Die Datei --openssl kann nicht geladen werden
von /usr/local/lib/Ruby/site_Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55 `required '

Ich habe openssl

$openssl version
OpenSSL 1.0.1 14 mar 2012

Wie behebt man den Fehler?

25
Siva Gnanam

Hinweis: Anrufe an rubygems.org werden nicht mehr empfohlen - bitte vorsichtig vorgehen!

Ich hatte das gleiche Problem unter Mac OSX, nachdem ich auch Ruby2.1.0p0 aus der Quelle erstellt hatte. Ich hatte bereits OpenSL installiert. Es scheint, dass die Referenz in Edelsteinen erneuert werden musste. Ich rannte:

gem source -r https://rubygems.org/ zum entfernen

gefolgt von

gem source -a https://rubygems.org/ zum lesen

Danach konnte ich gems install bundler erfolgreich ausführen.

Wenn weitere Fehler auftreten, können Sie ./configure --with-openssl-dir=/usr/local/ssl in Ihrem heruntergeladenen Ruby-Verzeichnis versuchen.

22
jspacek

Ich habe diesen Fehler bei der Verwendung von Debian erhalten, wo sich openssl in/usr/bin befand.

Dem Vorschlag von jspacek folgend, rekonfigurierte ich Ruby mit:

./configure --with-openssl-dir=/usr/bin

Nach make und Sudo make install konnte ich Rails installieren.

16
Toni Letendre

stellen Sie sicher, dass Sie libssl-dev installiert haben:

dpkg -s libssl-dev

wenn nicht, installiere es:

Sudo apt-get -y install libssl-dev
13
kitteehh

Falls jemand anderes dieses Problem hat, versuchen Sie, Ihre Ruby-Version erneut zu installieren

brew install openssl
rvm reinstall 2.4.0 --with-openssl-dir=`brew --prefix openssl`

Möglicherweise verfügen Sie bereits über openssl - so können Sie den ersten Schritt ignorieren. 

6
The Whiz of Oz

Ich lasse diese Antwort als Referenz für zukünftige Googler:

Geben Sie alle diese Befehle in Ihr Terminal (OSX) ein, um sicherzugehen, dass Sie alles getan haben (dies hat letztendlich für mich funktioniert).

rvm get stable
brew update
brew doctor
brew install openssl
rvm install Ruby-2.1 (or whatever version)
rvm use (Ruby version here)  i.e. rvm use Ruby-2.1
rvm gemset create NAME   i.e. rvm gemset create Rails41
gem install Rails -v 4.1

Endlich...

Wie viele Kommentatoren darauf hingewiesen haben - Sie benötigen OpenSSL, bevor Sie Ruby kompilieren, bevor Sie Rails (oder andere Edelsteine) installieren.

4
notaceo

Sie haben Ruby wahrscheinlich vor der Installation von OpenSSL aus dem Quellcode erstellt. Stellen Sie sicher, dass Sie es installieren und versuchen Sie, Ruby neu zu konfigurieren und neu zu erstellen.

3
David Grayson

Das Wiederherstellen von Ruby nach der Ausführung von Sudo apt-get install libssl-dev libreadline-dev libgdbm-dev kann dieses Problem beheben.

Ich habe diese Lösung gefunden hier .

1
Justus

Diese Schritte haben für mich funktioniert:

  1. Feste Ruby-Installation:

    brew-Upgrade openssl; openssldir = which openssl rvm Ruby-2.4.2 neu installieren --with-openssl-dir = $ openssldir

  2. Quellen für Edelsteine ​​entfernt und wieder hinzugefügt

    gem sources -r https://rubygems.org/ gem sources --add https://rubygems.org/

0

ich hatte ein ähnliches Problem und versuchte es zu lösen, indem ich den Anleitungen folgte. Der "Rebuild Ruby" ist ein wichtiger Schritt!

nachdem openssl_devel installiert wurde

cd folder_of_Ruby_source_code/ext/openssl  
Ruby ./extconf.rb  
make  
make install  

cd folder_of_Ruby_source_code  
./configure  
make clean       <= clean is important here
make  
make install  
0
carrottop

Ich habe diesen Fehler bei der Installation von Ruby mit RVM erhalten. Nichts hat geklappt. Ich habe auf rbenv umgestellt. Problem gelöst!

0
mmell

für mich war es ein Fall von fehlenden Abhängigkeiten.

i thought Ich hatte alle Abhängigkeiten, die zur Installation von Ruby erforderlich waren, aber auch ich erhielt einen openSSL- und Readline-Fehler.

ich habe versucht, Ruby mit RVM ohne Root-Berechtigungen zu installieren, die fehlgeschlagen sind, aber mir eine Liste der fehlenden Abhängigkeiten gab. Ich habe dann die Abhängigkeiten mit einem Paketmanager installiert. Ich habe dann erneut versucht, Ruby von Anfang an von der Quelle zu installieren, und alles hat funktioniert

die Abhängigkeiten, die für mich fehlten, waren:

 patch libyaml-devel autoconf gcc-c++
 readline-devel libffi-devel openssl-devel
 automake libtool bison sqlite-devel

aber für Sie können sie anders sein.

update: Ich kann mich nicht erinnern, wo genau ich diese Liste gefunden habe. Eine schnelle Suche ergab jedoch ähnliche Listen auf den folgenden Seiten, die möglicherweise auch hilfreich sind:

https://www.digitalocean.com/community/tutorials/how-to-install-Ruby-on-Rails-on-centos-6-with-rvm

http://www.itzgeek.com/how-tos/linux/ubuntu-wow-tos/install-Ruby-on-Rails-on-centos-ubuntu-Fedora-von-source.html

0