【问题标题】:undefined symbol: SSLv2_method when running bundle install未定义符号:运行捆绑安装时的 SSLv2_method
【发布时间】:2012-09-27 09:25:50
【问题描述】:

我在运行 bundler 来安装我的 gem 时遇到了这个错误。我环顾四周,除了在 r​​vm 上安装 openssl pkg 并重新安装所有 rubies 外,没有找到任何解决方案,这样做并没有解决问题,还有其他可能的解决方案吗?

这是我运行 bundle install 得到的输出:

Fetching gem metadata from https://rubygems.org/.Unfortunately, a fatal error has occurred. Please see the Bundler 
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! 
/home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-linux/openssl.so: undefined symbol: SSLv2_method - /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-linux/openssl.so (LoadError)
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/openssl.rb:17:in `<top (required)>'
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/net/https.rb:22:in `<top (required)>'
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/net/http/persistent.rb:447:in `ssl'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/net/http/persistent.rb:216:in `connection_for'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/net/http/persistent.rb:358:in `request'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/fetcher.rb:149:in `fetch'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/fetcher.rb:177:in `fetch_dependency_remote_specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/fetcher.rb:135:in `fetch_remote_specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/fetcher.rb:73:in `specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/source.rb:234:in `block in remote_specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/source.rb:232:in `each'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/source.rb:232:in `remote_specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/source.rb:165:in `fetch_specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/source.rb:70:in `specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/lazy_specification.rb:53:in `__materialize__'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/spec_set.rb:86:in `block in materialize'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/spec_set.rb:83:in `map!'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/spec_set.rb:83:in `materialize'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/definition.rb:113:in `specs'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/definition.rb:108:in `resolve_remotely!'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/installer.rb:81:in `run'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/installer.rb:14:in `install'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/cli.rb:230:in `install'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/thor/task.rb:27:in `run'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/thor.rb:275:in `dispatch'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/vendor/thor/base.rb:408:in `start'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/bin/bundle:14:in `block in <top (required)>'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/lib/bundler/friendly_errors.rb:4:in `with_friendly_errors'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.2.1/bin/bundle:14:in `<top (required)>'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/bin/bundle:19:in `load'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125@global/bin/bundle:19:in `<main>'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125/bin/ruby_noexec_wrapper:14:in `eval'
    from /home/octavius/.rvm/gems/ruby-1.9.3-p125/bin/ruby_noexec_wrapper:14:in `<main>'

【问题讨论】:

  • 你的问题太模糊了。它只是捆绑器给出此错误消息,还是在捆绑器尝试在 gemfile 中安装其中一个 gem 时生成? IE。是来自正在安装的特定 gem 还是来自 bundler 本身的错误。如果它来自特定的宝石,首先要缩小导致原因的宝石。您很少能用霰弹枪方法解决错误。最好的方法始终是缩小范围并聚焦问题。
  • 这是在谷歌搜索中首次出现的:stackoverflow.com/questions/8206546/…。但是,我仍然会首先投票以缩小真正的原因。
  • 是的,它出现了,但是关于那个问题没有答案,更像是简单地解释它为什么会发生。
  • 您是否尝试过清理您的.rvm (rm -rf ~/.rvm),重新安装,然后安装rvm pkg install openssl?很多次我看到 rvm 问题,因为一旦你安装了一些东西并尝试重新安装它就不能正确加载,因为旧库保留在 rvm 树中。我猜你试过了,但只是确保。如果您没有执行rm -rf ~/.rvm,请尝试包含该步骤。
  • 您也可以尝试在启用 ssl2 的情况下自己从源系统范围内安装 openssl。然而,也许作为最后一步,因为你可能会破坏一些东西(尽管它可以通过重新安装原始的 openssl rpm 包来修复)。无论如何,它不应该是火箭科学:您在某个地方有一个未编译 ssl2 的 openssl 库,而 ruby​​ 正在加载该库。这就是为什么最容易清理 .rvm 树并重新开始的原因。

标签: ruby rvm bundler sslv2


【解决方案1】:

我做了以下,它解决了这个问题:

$ source ~/.rvm/scripts/rvm
$ rvm pkg install zlib
$ rvm pkg install openssl
$ sudo apt-get install libreadline-dev
$ rvm pkg install readline
$ rvm install 1.9.3 --with-openssl-dir=$rvm_path/usr
$ gem install rails

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-01-02
  • 2012-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
  • 2014-02-14
相关资源
最近更新 更多