Nokogiri osx 10.5.8 libxml不兼容的库版本

时间:2012-07-02 17:43:54

标签: ruby-on-rails nokogiri libxml2

我在这里遇到了一个绊脚石,试图让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的副本 - 这有用吗?

由于

3 个答案:

答案 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">

虽然(详见对该文章的回复)但这并不意味着一切都一帆风顺......

相关问题