Ruby Bundle找不到符号:_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>'
我只是在我的系统上修复了一个类似的问题。 您需要重build您的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
升级openssl后,我有类似的问题。 我使用rvm。 我盯着升级rvm。
$ rvm get stable
我接下来重新安装了1.9.3。
rvm reinstall ruby-1.9.3-p545
重新安装后,我跑了:
$ rvm gemset pristine
如果您发现恢复您的gemset的任何错误,您最好的select将是清空gemset并重build它。
rvm gemset use mygemset rvm gemset empty mygemset gem install bundler bundle install
如果你有多个gem,你将不得不重复这些步骤中的每一个。
在rvm下有1.9.3-p547同样的问题
rvm reinstall ruby-1.9.3-p547
Ruby被重新安装,但是因为gemset_pristine
为应用程序设置gemset_pristine
libv8 version 3.16.14.3 failed
这是我首先得到这个观点的原因。 恶毒的挫败圈子…
更新
检查您的平台版本。 我有例如达尔文10.8,并没有在这里列出 。 所以,除非你的libv8 gem版本为你的平台准备了一个预编译好的二进制文件,否则需要很长的时间。 出去吃晚饭,看电影,放松一下…如果够了,也许他们会设置一个二进制发行版…
有相同的错误,并通过brew upgrade openssl
来解决它
你可能像我一样傻,有多个openssl的
我对2.1.2也有同样的问题,Ryan Dlugosz的出色答案还不够。 我的问题是我有多个版本的openssl安装(我想我已经通过brew
和 git
在以前的项目中安装)。
我不得不删除/ opt / local / bin / openssl然后重build2.1.2。
检查全球rbenvruby
$ 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
重build2.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
根本没有解决问题的时候,我build议删除RVM。 并重新安装RVM和Rails。
删除RVM
我如何从我的系统中删除RVM(Ruby版本pipe理器)?
安装RVM,Rail
$ curl -L https://get.rvm.io | bash -s
$ rvm稳定
$ 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
rbenv用户:
这有助于确保您使用正确的ruby版本。 如果你重新安装rbenv或安装一个新的ruby,改变你刚刚安装的ruby版本:
$ rbenv local 2.1.3
以防万一它可能帮助任何人:我有一个更新版本的Ruby安装(2.1.2),在我的.ruby版本文件中我引用了旧的(2.0.0-p353)
更改我的.ruby-version文件到2.1.2解决了我的问题。
我有一个类似的问题,升级到ruby2.2.2后发生。 但是,我的环境有点不同,导致上述解决scheme无法正常工作。
我在用着:
- OSX优胜美地(10.10.4)
- chruby
- ruby安装
- openssl(通过自制软件安装)
下面的命令在我的情况下解决了这个问题:
> sudo ruby-install -r /opt/rubies ruby 2.2.2 -- --with-openssl-dir=/usr/local/opt/openssl > gem install bundler > bundler install
除了上面的接受答案,你可能不得不告诉rbenv使用新安装的版本。 例如,我在〜/ .rbenv /版本中有旧版本,所以rbenv总是使用旧版本。 在该文件(或通过命令行)手动设置新版本应该可以解决问题。
rbenv install -f 2.1.2 rbenv versions rbenv global 2.1.2 //sets global version to 2.1.2
- 如何在OS X上看到我的$ PATHvariables的当前值?
- 错误:“brew链接”步骤没有成功完成
- 自制软件,macports或其他软件包安装工具的区别/用法是什么?
- 你如何在Mac上安装ssh-copy-id?
- 删除位于Brew安装位置以外的Python框架文件的最安全方法是什么?
- 如何连接PyCharm和PySpark?
- Homebrew brew医生警告/Library/Frameworks/Python.framework,甚至连brew的Python安装
- Sudo pip安装matplotlib无法findfreetype头文件。
- 优胜美地/ El Capitan php-gd + mcrypt安装