2010-03-11 60 views
7

无法在rvm ruby​​ 1.9.1下安装nokogiri gem。RVM 1.9.1&nokogiri

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在用户空间中运行一切。

+0

http://blog.lostincode.net/archives/2010/1/2/installed_gems_with_native_extensions /看起来不错 – scaney 2010-03-11 15:06:36

+1

啊 - 在ubuntu上它的libxml2-dev不是libxml2-devel – scaney 2010-03-11 15:09:09

+0

在Ubuntu上,我被建议做'sudo apt-get install ruby​​-nokogiri'。 – isomorphismes 2013-04-09 04:45:19

回答

3

您可能想确认apt安装的libxml的版本是最新版本。 Nokogiri喜欢libxml的新鲜版本,所以我从源代码构建了我的libxml安装。

nokogiri -v会告诉你你在用什么。

+0

为小费而欢呼! – scaney 2010-03-13 16:12:37

+0

没问题。我遇到过很多次这个问题,我想我应该试着在通行证上为你效力。 – 2010-03-14 07:38:15

2

我遇到了一个类似的问题,在Mac上使用自制软件。

下面是代码,做的伎俩,Nokogiri安装说明的一个小的扩展自制软件。基本上,你需要包含一个指令来告诉nokogiri使用自制的libxml dirs。请确保您指向由自制的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 
10

一个简单的办法:

sudo apt-get install libxslt-dev libxml2-dev 
+1

谢谢! libxml2-dev正是ubuntu上缺少的东西。非常适合安装nokogiri :) – Antony 2012-11-17 06:38:38

+0

'yum install libxml2-devel libxslt-devel'把它工作在我的centos中,谢谢! – JaredMcAteer 2013-02-10 20:35:02