web-dev-qa-db-fra.com

Ruby Symbole d'ensemble introuvable: _SSLv2_client_method (LoadError)

J'essayais de faire quelques mises à jour d'Openworks avec homebrew et j'ai réussi à tout casser. Je ne peux rien faire maintenant, voici ce que je reçois lorsque j'essaie de faire de l'installation en bundle:

$ bundle install
/Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in    `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError)
Referenced from: /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
in /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/openssl.rb:17:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/security.rb:11:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/package.rb:43:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/dependency_installer.rb:3:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/installer.rb:2:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli/install.rb:78:in `run'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:146:in `install'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/command.rb:27:in `run'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/invocation.rb:121:in `invoke_command'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor.rb:363:in `dispatch'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/base.rb:440:in `start'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:9:in `start'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/bin/bundle:20:in `block in <top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/friendly_errors.rb:5:in `with_friendly_errors'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/bundler-1.6.3/bin/bundle:20:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/bin/bundle:23:in `load'
    from /Users/asServer/.rbenv/versions/2.1.2/bin/bundle:23:in `<main>'
249
Lenek

Je viens de corriger un problème similaire sur mon système. Vous devez recréer votre installation de Ruby 2.1.2 et cette dernière sera liée à la nouvelle version de SSL.

$ rbenv install 2.1.2
rbenv: /Users/ryan/.rbenv/versions/2.1.2 already exists
continue with installation? (y/N) y
Downloading Ruby-2.1.2.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635
Installing Ruby-2.1.2...
Installed Ruby-2.1.2 to /Users/ryan/.rbenv/versions/2.1.2
286
Ryan Dlugosz

J'ai eu un problème similaire après la mise à jour d'OpenSSL. J'utilise RVM. J'ai regardé en mettant à niveau rvm.

$ rvm get stable

J'ai ensuite réinstallé 1.9.3.

rvm reinstall Ruby-1.9.3-p545

Après la réinstallation, j'ai exécuté:

$ rvm gemset pristine

Si vous constatez des erreurs lors de la restauration de votre gemset, la meilleure option consiste à vider le gemset et à le reconstruire.

rvm gemset use mygemset
rvm gemset empty mygemset
gem install bundler
bundle install

Si vous avez plusieurs pierres précieuses, vous devrez répéter ces étapes pour chacune d’elles.

185
Sandeep M

Avoir le même problème pour 1.9.3-p547, sous rvm

rvm reinstall Ruby-1.9.3-p547

Ruby est réinstallé mais ne parvient pas à configurer un gemset_pristine pour l'application car

libv8 version 3.16.14.3 failed

ce qui était la raison pour laquelle je suis arrivé à ce point en premier lieu. Cercle de frustration vicieux ...

mettre à jour
Vérifiez la version de votre plate-forme. J'ai par exemple Darwin 10.8 et qui n'est pas listé ici . Ainsi, à moins que votre version de la gem libv8 ne comporte un fichier binaire précompilé pour votre plate-forme, cela prendra beaucoup de temps (très long). Sortez dîner, aller au cinéma, relaxez-vous ... Si vous en demandez assez, peut-être qu'ils vont créer une distribution binaire ...

17
Jerome

Avait la même erreur et résolu par brew upgrade openssl

14
DaveWoodall.com

Vous pourriez être un dork comme moi, avec plusieurs openssl

J'ai eu le même problème pour 2.1.2 et l'excellente réponse de Ryan Dlugosz n'a pas été assez loin. Mon problème était que j'avais plusieurs versions d'OpenSL installées (je pense que j'avais installé via brewetgit dans les projets précédents).

Je devais supprimer/opt/local/bin/openssl puis reconstruire la version 2.1.2.

Vérifiez global rbenv Ruby

$ rbenv global
2.1.2

Vérifiez openssl

$ which -a openssl
/opt/local/bin/openssl
/opt/local/bin/openssl
/usr/bin/openssl

Éliminer les doublons openssl

$ Sudo rm -rf /opt/local/bin/openssl

Reconstruire 2.1.2

$ rbenv install -f 2.1.2
Downloading openssl-1.0.1g.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028
Installing openssl-1.0.1g...
Installed openssl-1.0.1g to /Users/globber/.rbenv/versions/2.1.2

Downloading Ruby-2.1.2.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635
Installing Ruby-2.1.2...
Installed Ruby-2.1.2 to /Users/globber/.rbenv/versions/2.1.2
6
Ralph Cowling

Quand n'a pas résolu le problème du tout, je suggère de supprimer RVM. Et réinstallez RVM et Rails.

supprimer RVM

Comment puis-je supprimer RVM (Ruby Version Manager) de mon système?

installation de RVM, Rail

$ curl -L https://get.rvm.io | bash -s
$ rvm obtenir stable
Exigences relatives aux véhicules récréatifs
$ rvm install 2.0.0 --with-openssl-dir = $ HOME/.rvm/usr
$ rvm use 2.0.0 $ gem update --système 2.0.3
$ gem install Rails --version 4.0.5

5
Hajime

rbenv utilisateurs:

Il est utile de s’assurer que vous utilisez la bonne version de Ruby. Si vous réinstallez rbenv ou installez un nouveau Ruby, passez à la version Ruby que vous venez d'installer:

$ rbenv local 2.1.3

4
dechimp

Au cas où cela pourrait aider quelqu'un: J'avais une version plus récente de Ruby installée (2.1.2), et dans mon fichier .Ruby-version, j'ai référé à l'ancienne (2.0.0-p353).

Changer mon fichier .Ruby-version en 2.1.2 a résolu le problème pour moi.

1
lafeber

J'ai eu un problème similaire, qui s'est produit après la mise à niveau vers Ruby 2.2.2. Cependant, mon environnement est un peu différent, ce qui empêche les solutions ci-dessus de fonctionner.

J'utilise:

  • OSX Yosemite (10.10.4)
  • chruby
  • Ruby-installer
  • openssl (installé via homebrew)

Les commandes suivantes ont résolu ce problème dans ma situation:

> Sudo Ruby-install -r /opt/rubies Ruby 2.2.2 -- --with-openssl-dir=/usr/local/opt/openssl
> gem install bundler
> bundler install
1
Catharz

En plus des réponses d'acceptation ci-dessus, vous devrez peut-être indiquer à rbenv d'utiliser la version nouvellement installée. Par exemple, j'avais l'ancienne version dans ~/.rbenv/version, donc Rbenv utilisait toujours l'ancienne. Le fait de définir manuellement la nouvelle version dans ce fichier (ou via la ligne de commande) devrait résoudre le problème.

rbenv install -f 2.1.2
rbenv versions
rbenv global 2.1.2 //sets global version to 2.1.2
0
adairdavid