【问题标题】:Ruby complaining about nokogiri libiconv.2.dylibRuby 抱怨 nokogiri libiconv.2.dylib
【发布时间】:2012-10-15 04:32:28
【问题描述】:

我最近尝试用 Ruby 和 Capybara 编写一个小的抓取脚本;但是,当我编译需要 Capybara 的代码时,出现以下错误:

/Library/Ruby/Gems/1.8/gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle:       dlopen(/Library/Ruby/Gems/1.8/gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle, 9): Library  not loaded: /opt/local/lib/libiconv.2.dylib (LoadError)
Referenced from: /Library/Ruby/Gems/1.8/gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle
Reason: Incompatible library version: nokogiri.bundle requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0 - /Library/Ruby/Gems/1.8/gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require'
from /Library/Ruby/Gems/1.8/gems/nokogiri-1.5.5/lib/nokogiri.rb:27
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require'
from /Library/Ruby/Gems/1.8/gems/capybara-1.1.2/lib/capybara.rb:2
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `require'

我已经多次卸载并重新安装了 nokogiri。我已经检查以确保我的 Mac 上唯一安装的 Ruby 位于 //usr/bin 中。我最近按照 Homebrew 的要求更新了 Xcode 并卸载了 MacPorts。我做错了什么(如果有的话),解决方法是什么?

【问题讨论】:

    标签: ruby macos capybara nokogiri homebrew


    【解决方案1】:

    mac 上的一些问题导致很难使用板载的 ruby​​ 东西。

    我建议使用 RVM 或 RBENV 来管理您的 ruby​​ 安装(尽管 RVENV 更底层)。删除 MacPorts 是个好主意。 homebrew 在集成到 OS X 中的问题较少。

    运行 brew doctor 以查看任何可能的错误。

    【讨论】:

    • 原来 MacPorts 和 Homebrew 处理 libiconv 的方式不同。当我从一个迁移到另一个时,我遇到了阻止 Ruby 等人的某种不一致。从正确运行。不管是什么,卸载 nokogiri 并运行 gem install nokogiri -- --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-xml2-dir=/usr/local/Cellar/libxml2/2.7.8/ 解决了这个问题。
    猜你喜欢
    • 2011-08-15
    • 2013-10-03
    • 1970-01-01
    • 2012-09-02
    • 2020-06-01
    • 2016-11-03
    • 2022-01-10
    • 2012-01-28
    • 2011-11-14
    相关资源
    最近更新 更多