在RVM Ruby 1.9.1下安装Nokogiri Gem时遇到了麻烦。

gem install nokogiri

我越来越 ...

/usr/include/libxml2... no
libxml2 is missing.  try 'port install libxml2' or 'yum install libxml2-devel'
*** extconf.rb failed ***

但是我检查了:

sudo apt-get install libxml2

我得到了:

Reading state information... Done
libxml2 is already the newest version.

这也许是根本的东西吗? RVM在用户空间中运行所有内容。

有帮助吗?

解决方案

您可能需要确认APT安装的LiBXML版本是当前的。 Nokogiri喜欢Libxml的漂亮新鲜版本,因此我从源头构建了Libxml安装。

Nokogiri -V会告诉您您正在使用什么。

其他提示

一个简单的解决方案:

sudo apt-get install libxslt-dev libxml2-dev

我使用Mac上的Homebrew遇到了类似的问题。

这是解决问题的代码,是诺科吉里(Nokogiri)安装说明的一小部分。基本上,您需要包括一个指令,以告诉诺科吉里使用自制libxml dirs。确保您指出了由Homebrew安装的正确版本的Libxml2,对我来说是2.7.8:

brew install libxml2

brew link libxml2 #this may be enough but didn't work for me with rvm

#explicitly tell nokogiri to use you homebrew libxml2 rather than system
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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top