2012-03-06 29 views
16

Tôi cố gắng để cài đặt Nokogiri nhưng tôi luôn nhận được một lỗi biên dịch:Không thể cài đặt đá quý Nokogiri, "libxml/parser.h" không tìm thấy, nhưng ở đó, tại sao?

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

nhưng, tôi đã cài đặt nó và tất cả các phụ thuộc khác.

tôi cố gắng cung cấp cho các gợi ý cài đặt như thế này:

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

... 

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

... 

nhưng nó vẫn không cài đặt:

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

Tôi đang trên Ubuntu 11.10.

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

Sản lượng:

"dpkg-query -l | grep xml" và "dpkg-query -l | grep xslt"

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

Thất bại dường như ở bên cạnh 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

Sẽ hữu ích khi biết hệ điều hành này là gì. –

+0

Ồ, hãy thử Ubuntu 11.10 –

+0

Thử cách tiếp cận khác - bạn nên có tệp 'mkmf.log' từ thư mục nơi cài đặt không thành công. Bạn có thể cho chúng tôi biết nội dung của tập tin đó không? Ngoài ra - bạn có các công cụ xây dựng và trình biên dịch được cài đặt trên hệ thống của bạn không? 'extconf.rb' có thể đang cố gắng xây dựng thử nghiệm. Hãy thử chạy một cái gì đó như 'gcc' hoặc' make' từ dòng lệnh, xem họ có trả lời hay không. – birryree

Trả lời

21

Thao tác này sẽ hoạt động.

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

có thể phải gỡ cài đặt nokogirl và/hoặc libxml-ruby đầu tiên ala: gem uninstall nokogiri; gem uninstall libxml-ruby; sau đó cài đặt lại –

+0

xác nhận hoạt động trên ubuntu 13.10 quá –

+0

Tôi tiếp tục nhận được lỗi này và phải sử dụng giải pháp này mọi lúc tôi cố gắng chạy một ứng dụng Rails 3. – Donato

1

Tôi chỉ gặp phải sự cố tương tự trên (cat /etc/centos-release :) CentOS release 6.6 (Final).

sudo yum install -y rubygem-nokogiri 

… khắc phục sự cố đó.

(xem: http://www.nokogiri.org/tutorials/installing_nokogiri.html#red_hat___centos)

+0

Tôi đã bỏ cài đặt 'yum install libxml2-devel libxslt-devel' (trên CentOS 6.7). Tôi không có hệ thống Ruby được cài đặt, vì vậy điều này giúp tôi phải cài đặt một loạt các phụ thuộc liên quan đến Ruby. – mwfearnley

Các vấn đề liên quan