2010-03-11 57 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