Ruby Bundle Symbol not found: _SSLv2_client_method (LoadError)

我正在尝试用自制软件对openssl做一些更新,不知何故,我设法打破了一切。我现在不能做任何事情,这是我得到的,当我尝试做捆绑安装:

$ 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>'
56773 次浏览

我刚在我的系统上修复了一个类似的问题。您需要重新构建Ruby 2.1.2的安装,它将根据最新更新的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

在rvm下,1.9.3-p547有同样的问题吗

rvm reinstall ruby-1.9.3-p547

Ruby被重新安装,但未能为应用程序设置gemset_pristine,因为

libv8 version 3.16.14.3 failed

这也是我走到这一步的原因。恶性挫折循环……

< p > 更新 < br > 检查你的平台版本。比如达尔文10.8,这里没有列出。 所以,除非你的libv8 gem版本已经为你的平台预编译了二进制文件,否则这将需要很长(很长)时间。出去吃顿饭,看场电影,放松一下……如果足够多的人要求,也许他们会建立一个二进制发行版…

在升级openssl之后,我也遇到了类似的问题。我用rvm。我从升级rvm开始。

$ rvm get stable

接下来我重新安装了1.9.3。

rvm reinstall ruby-1.9.3-p545

重新安装后,我运行:

$ rvm gemset pristine

如果在恢复gemset时看到任何错误,最好的选择是清空gemset并重新构建它。

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

如果您有多个gemset,则必须为每个gemset重复这些步骤。

我安装了一个较新的Ruby版本(2.1.2),在我的.ruby-version文件中引用了旧版本(2.0.0-p353)。

将我的.ruby版本文件更改为2.1.2,为我解决了这个问题。

有相同的错误,并通过brew upgrade openssl解决它

如果根本解决不了问题,我建议删除RVM。重新安装RVM和Rails。

删除区

如何从我的系统中删除RVM (Ruby版本管理器)?

安装RVM、Rail

$ curl -L https://get.rvm.io | bash -s
$ RVM get stable
$ RVM需求
$ rvm install 2.0.0——with-openssl-dir=$HOME/.rvm/usr
$ RVM使用2.0.0 $ gem update——system 2.0.3
$ gem install rails -version 4.0.5

. exe

rbenv用户:

这有助于确保您使用的是正确版本的ruby。如果您重新安装rbenv或安装一个新的ruby,请更改为您刚刚安装的ruby版本:

$ rbenv local 2.1.3

你可能和我一样是个呆子,有多个openssl

我在2.1.2中遇到了同样的问题,Ryan Dlugosz的出色回答远远不够。我的问题是我安装了多个版本的openssl(我想我在以前的项目中通过brew 而且 git安装)。

我必须删除/opt/local/bin/openssl,然后重新构建2.1.2。

检查全局rbenv ruby

$ rbenv global
2.1.2

检查openssl

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

杀死重复的openssl

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

重建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

除了上面的接受答案之外,您可能还必须告诉rbenv使用新安装的版本。例如,我在~/中有旧版本。Rbenv /version,所以Rbenv总是使用旧版本。在该文件中手动设置新版本(或通过命令行)应该可以解决这个问题。

rbenv install -f 2.1.2
rbenv versions
rbenv global 2.1.2 //sets global version to 2.1.2
我也有类似的问题,这发生在升级到ruby 2.2.2之后。 但是,我的环境有点不同,导致上述解决方案不工作

我用的是:

  • OSX优胜美地(10.10.4)
  • chruby
  • ruby-install
  • Openssl(通过homebrew安装)

下面的命令解决了我的情况:

> sudo ruby-install -r /opt/rubies ruby 2.2.2 -- --with-openssl-dir=/usr/local/opt/openssl
> gem install bundler
> bundler install