2012-03-06 121 views
16

我試圖安裝引入nokogiri但我總是得到一個編譯錯誤:不能安裝Nokogiri gem,找不到「libxml/parser.h」,但它在那裏,爲什麼?

checking for libxml/parser.h... *** extconf.rb failed *** 

,但是,我已經安裝了它和其他所有依賴關係。

我試着給安裝程序的提示是這樣的:

%> gem install nokogiri -- --with-xml2-lib=/usr/lib/ --with-xml2-include=/usr/include/libxml2/ 

... 

checking for libxml/parser.h... *** extconf.rb failed *** 

... 

,但它仍然沒有安裝:

%> find /usr/include/ -name "parser.h"  
/usr/include/libxml2/libxml/parser.h 
... 

我在Ubuntu 11.10。

~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~

輸出的:

dpkg-query -l | grep xml」 和 「dpkg-query -l | grep xslt

~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~

失敗似乎是在GCC側:

%> cat hello.c 
#include <stdio.h> 

main() 
{ 
    printf("Hello World \n"); 
} 

%> gcc hello.c 
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crt1.o: In function `_start': 
(.text+0x12): undefined reference to `__libc_csu_fini' 
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crt1.o: In function `_start': 
(.text+0x19): undefined reference to `__libc_csu_init' 
collect2: ld gab 1 als Ende-Status zurück 
+1

這將有助於知道這是什麼操作系統。 – 2012-03-06 18:57:30

+0

Ohh,sry Ubuntu 11.10 – 2012-03-06 19:43:13

+0

嘗試一種不同的方法 - 你應該在安裝失敗的目錄中有一個'mkmf.log'文件。你能告訴我們該文件的內容嗎?另外 - 你的系統上是否安裝了構建工具和編譯器? 'extconf.rb'可能試圖做測試構建。嘗試從命令行運行'gcc'或'make',看看它們是否響應。 – birryree 2012-03-06 21:33:56

回答

21

這將工作。

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

可能需要先卸載nokogirl和/或libxml-ruby第一個ala:gem uninstall nokogiri;寶石卸載libxml-ruby;然後重新安裝 – 2012-10-05 23:22:25

+0

確認在Ubuntu 13.10的作品 – 2014-02-22 19:12:41

+0

我不斷收到此錯誤,並且每次嘗試運行Rails 3應用程序時都必須使用此解決方案。 – Donato 2015-05-23 20:32:33

1

我只是在面臨同樣的問題(cat /etc/centos-release :) CentOS版本6.6(決賽)。

sudo yum install -y rubygem-nokogiri 

...解決了這個問題。

(參見:http://www.nokogiri.org/tutorials/installing_nokogiri.html#red_hat___centos

+0

我用'yum install libxml2-devel libxslt-devel'(在CentOS 6.7上)逃脫了。我沒有安裝系統Ruby,所以這節省了我不得不安裝一堆Ruby相關的依賴項。 – mwfearnley 2017-12-05 09:27:26

相關問題