我在这里遇到了一个绊脚石,试图让Nokogiri在osx 10.5.8上工作。
尝试http://nokogiri.org/tutorials/installing_nokogiri.html 然后http://martinisoftware.com/2009/07/31/nokogiri-on-leopard.html
一位同事一直试图帮助,但无法摆脱这条错误信息:
未加载库:/usr/local/lib/libxml2.2.dylib ... 原因:不兼容的库版本:nokogiri.bundle需要版本11.0.0或更高版本,但libxml2.2.dylib提供版本10.0.0
我们尝试使用新安装的库编译gem但仍然遇到此错误。
任何帮助或指示真的很感激!
我获得了osx 10.6的副本 - 这有用吗?
由于
答案 0 :(得分:20)
实际上,答案是:http://nokogiri.org/tutorials/installing_nokogiri.html
brew install libxml2 libxslt
brew link libxml2 libxslt
然后从源代码安装libiconv:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
make
sudo make install
然后(最后)安装nokogiri:
gem install nokogiri --
--with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2
--with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib
--with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26
--with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include
--with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib
确保你拥有/ usr / local / Cellar / libxml中的libxml2版本(在我的例子中是2.8.0)。
快乐的编码!
答案 1 :(得分:8)
以下在OS-X 10.9.1(小牛队)上为我工作:
brew install libxml2 libxslt
gem install nokogiri -- --with-xslt-dir=/usr/local/opt/libsxlt
答案 2 :(得分:0)
我刚刚跳上我的10.5机器并记得在那里找到了Nokogiri的工作版本 - 所以查看了命令历史记录,这里是我使用Homebrew的确切命令的'cut'n'paste:
brew install libxml2 libxslt
brew install libiconv
sudo gem install nokogiri -- --with-xslt-dir=/usr/local/homebrew/Cellar/libxslt/1.1.26
虽然我仍然升级到10.6。
This answer might help。在抵制OS X包管理器之后,我放弃了Homebrew帮助我解决了类似的问题。这是为了RVM(我记得经历过类似的过程),但关键是告诉nokogiri gem使用新的libxml2安装。
顺便说一句(稍微偏离主题,但如果你要去10.6则相关)终端OOI you can check your mac for a 64 bit EFI:
ioreg -l -p IODeviceTree | grep firmware-abi
你应该看到(如果是64位):
"firmware-abi" = <"EFI64">
虽然(详见对该文章的回复)但这并不意味着一切都一帆风顺......