8

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

谢谢

4

3 回答 3

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

确保您拥有 libxml2 的版本,因为它们在 /usr/local/Cellar/libxml 中(在我的情况下是 2.8.0)。

快乐编码!

于 2012-10-16T04:14:52.550 回答
8

以下在 OS-X 10.9.1 (Mavericks) 上为我工作:

brew install libxml2 libxslt
gem install nokogiri -- --with-xslt-dir=/usr/local/opt/libsxlt
于 2014-02-06T23:08:04.150 回答
0

我刚刚跳上我的 10.5 机器并记得在那里获得了 Nokogiri 的工作版本 - 所以查看了命令历史记录,这是我使用 Homebrew 的确切命令的剪切粘贴:

brew install libxml2 libxslt
brew install libiconv
sudo gem install nokogiri -- --with-xslt-dir=/usr/local/homebrew/Cellar/libxslt/1.1.26

虽然我仍然会升级到 10.6。

较旧的答案:

这个答案可能会有所帮助。在抵制 OS X 包管理器后,我屈服于 Homebrew,它帮助我解决了类似的问题。这是针对 RVM(我记得经历了类似的过程),但关键是告诉 nokogiri gem 使用新的 libxml2 安装。

顺便说一句(稍微偏离主题但如果您要使用 10.6 则相关)OOI您可以在终端中检查您的 Mac 是否有 64 位 EFI :

ioreg -l -p IODeviceTree | grep firmware-abi

你应该看到(如果是 64 位):

"firmware-abi" = <"EFI64">

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

于 2012-07-02T19:58:14.730 回答