2010-08-12 6 views
55

lors de l'exécution d'un serveur Rails, je reçois l'erreur suivante: pas de fichier à charger - OpenSSLRails 3 - pas de fichier à charger - OpenSSL

J'essaie une solution que je trouve en ligne. Je vais à ~/.rvm/src/ruby-1.9.2-head/ext/openssl. Type I: extconf.rb rubis, mais je reçois le texte suivant:

=== OpenSSL for Ruby configurator === 
=== Checking for system dependent stuff... === 
checking for t_open() in -lnsl... no 
checking for socket() in -lsocket... no 
checking for assert.h... yes 
=== Checking for required stuff... === 
checking for openssl/ssl.h... no 
=== Checking for required stuff failed. === 
Makefile wasn't created. Fix the errors above. 

Je ne peux pas utiliser ni faire make install.

+1

je n'ai rencontré ceci lorsque vous utilisez JRuby, pouvez-vous donner quelques détails sur l'environnement. Je suppose que vous utilisez RVM? Quel rubis? –

Répondre

0

Vous pourriez essayer de courir ruby-1.9.2-rc2 au lieu de la tête? ne sais pas si elle va résoudre ce problème ou non, mais j'ai eu beaucoup de problèmes en essayant de courir sous la tête

assez sûr la la commande ressemblerait - RVM installer 1.9.2-RC2

vous

devra réinstaller les rails à nouveau

13

vérifier cette instruction http://rvm.io/packages/openssl/ - Gardez à l'esprit que le Quick fix est juste un bloc pas la page entière.

+0

J'ai eu un problème similaire et cela a résolu pour moi. –

+0

Quel bloc est le correctif? – Shamoon

80

rvm pkg install openssl (ancien format - rvm package install openssl)
rvm pkg install iconv (ancien format - rvm package install iconv)
rvm remove 1.9.2
rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr,--with-iconv-dir=$HOME/.rvm/usr

Credit to http://www.isnull.com.ar/

+9

FYI - Si quelqu'un obtient "ERREUR: Argument de ligne de commande non reconnu: 'package' (voir: 'utilisation de rvm')", c'est parce que 'Package' a été changé en 'pkg'. Donc 'rvm pkg install XXXX' maintenant. –

+3

Ceci est en fait une solution de contournement. Le correctif approprié serait d'installer une version de développement de la bibliothèque OpenSSL. Voir les réponses ci-dessous. Sur Debian/Ubuntu: apt-get install libssl-dev – tbk

+1

(fondamentalement, soit rvm pkg install openssl, soit apt-get install libssl-dev, alors vous faites une réinstallation de rvm, voir le lien dans une autre réponse aussi.) – rogerdpack

7

Vous devez installer la bibliothèque OpenSSL/net/http exécutez le code suivant puis installez openssl et iconv .. Le code suivant fonctionnera sur UBUNTU ..

sudo apt-get install libopenssl-ruby1.9.1 c'est pour ruby ​​1.9.1.

sudo apt-get install libopenssl-ruby pour 1.8.x rubis

+0

ou sur le Debian – Andrew

7

vérifiez d'abord votre RVM ayant le package OpenSSL. Allez dans /usr/local/src/rvm/ruby-1.9.2-p290/

puis passez à ext/openssl.

Type rubis extconf.rb Si nous avons trouvé des erreurs comme celle-ci

enter code here 
=== OpenSSL for Ruby configurator === 
=== Checking for system dependent stuff... === 
checking for t_open() in -lnsl... no 
checking for socket() in -lsocket... no 
checking for assert.h... yes 
=== Checking for required stuff... === 
checking for openssl/ssl.h... no 
=== Checking for required stuff failed. === 
Makefile wasn't created. Fix the errors above 

Ensuite, installez apt-get install libssl-dev.Once installé Ruby frotter extconf.rb .Maintenant OpenSSL obtiendra installé

+0

libssl-dev a résolu mon problème Merci – mko

+1

Oui, j'avais besoin de 'libssl-dev' sur Ubuntu. Merci! –

2

Ceci a résolu le problème pour moi:

rvm pkg install openssl 
rvm reinstall 1.9.2 --with-openssl-dir=$rvm_path/usr 

Et n'oubliez pas de changer la version de ruby ​​à la version que vous utilisez. Si vous avez un vieux rvm, vous devriez peut-être le mettre à jour au début.

6

Pour ubuntu, je ne les suivantes:

apt-get install libssl-dev 
cd ruby-1.9(source directory used to install ruby)/ext/openssl 
ruby extconf.rb 
make 
make install 
1

J'ai fait

rvm pkg install openssl 
rvm reinstall 1.9.3 

et fait!

0

Cette erreur signifie que votre Ruby n'est pas compilé avec openssl. En supposant que vous utilisez RVM, voici les étapes à suivre pour résoudre ce problème.

1.Installez le package OpenSSL

rvm pkg install openssl 

2.Retirer l'installation Ruby vous utilisez

rvm remove 1.9.3 

3.And recompiler enfin Ruby avec OpenSSL

rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr 

4. Tout devrait fonctionner maintenant. Ne pas oublier de:

RVM utilisation 1.9.3 --default

Questions connexes