Ruby抱怨nokogiri libiconv.2.dylib

Ruby抱怨nokogiri libiconv.2.dylib,ruby,macos,capybara,nokogiri,homebrew,Ruby,Macos,Capybara,Nokogiri,Homebrew,我最近尝试用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/

我最近尝试用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
。我最近根据自制软件的要求更新了Xcode并卸载了MacPorts。我做错了什么,如果有的话,还有什么补救办法?

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/ceral/libxslt/1.1.26--with-xml2-dir=/usr/local/ceral/libxml2/2.7.8/
解决了这个问题。