2010-03-11 12 views
7

Problemy z instalacją klejnotu nokogiri pod rvm ruby ​​1.9.1.RVM 1.9.1 i nokogiri

gem install nokogiri 

Dostaję ...

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

ale sprawdzona:

sudo apt-get install libxml2 

i mam:

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

jest to rzeczą korzeń może? RVM uruchamia wszystko w przestrzeni użytkownika.

+0

http://blog.lostincode.net/archives/2010/1/2/installation_gems_with_native_extensions/wygląda dobrze – scaney

+1

ah - na ubuntu jego libxml2-dev nie libxml2-devel – scaney

+0

W Ubuntu zasugerowałem wykonanie 'sudo apt-get install ruby-nokogiri'. – isomorphismes

Odpowiedz

3

Możesz chcieć potwierdzić, że wersja biblioteki libxml zainstalowanej przez apt jest aktualna. Nokogiri lubi ładne, świeże wersje libxml, więc zbudowałem swoją instalację libxml ze źródła.

nokogiri -v powie Ci, czego używasz.

+0

Pozdrawiam za wskazówkę zed! – scaney

+0

Bez problemu. Wpadłem na problem tyle razy, że pomyślałem, że powinienem spróbować go wyprzedzić na przełęczy. –

2

Wpadłem na podobny problem, używając homebrew na Macu.

Oto kod, który działa, małe rozszerzenie instrukcji instalacji Nokogiri dla homebrew. Zasadniczo, musisz zawrzeć dyrektywę, aby nokogiri powiedział, że używa domowych katalogów libxml. Upewnij się, że punkt do poprawnej wersji libxml2 zainstalowany przez homebrew, co dla mnie było 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

Prostsze rozwiązanie:

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

Dziękujemy! libxml2-dev jest dokładnie tym, czego brakowało w ubuntu. Działa świetnie, aby zainstalować nokogiri :) – Antony

+0

'zainstalować yum libxml2-devel libxslt-devel' ale działa na moim pudełku centos, dzięki! – JaredMcAteer