2010-03-11 22 views
7

Gặp sự cố khi cài đặt đá quý nokogiri dưới ruby ​​ruby ​​1.9.1.RVM 1.9.1 & nokogiri

gem install nokogiri 

tôi nhận được ...

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

nhưng tôi kiểm tra:

sudo apt-get install libxml2 

và tôi đã nhận:

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

là này là một điều có lẽ gốc? RVM chạy mọi thứ trong không gian người dùng.

+0

http://blog.lostincode.net/archives/2010/1/2/installation_gems_with_native_extensions/trông tốt – scaney

+1

ah - trên ubuntu libxml2-dev của nó không libxml2-devel – scaney

+0

Trên Ubuntu, tôi đã được đề nghị làm 'sudo apt-get install ruby-nokogiri'. – isomorphismes

Trả lời

3

Bạn có thể muốn xác nhận rằng phiên bản libxml được cài đặt bởi apt là hiện tại. Nokogiri thích phiên bản libxml mới, vì vậy tôi đã cài đặt libxml từ nguồn.

nokogiri -v sẽ cho bạn biết những gì bạn đang sử dụng.

+0

Chúc mừng cho tip zed! – scaney

+0

Không sao cả. Tôi đã gặp vấn đề SO nhiều lần, tôi nghĩ rằng tôi nên cố gắng bỏ qua nó cho bạn. –

2

Tôi đã gặp phải sự cố tương tự khi sử dụng homebrew trên máy Mac.

Đây là mã thực hiện thủ thuật, một phần mở rộng nhỏ của hướng dẫn cài đặt Nokogiri cho homebrew. Về cơ bản, bạn cần phải bao gồm một chỉ thị để nói cho nokogiri sử dụng các thư mục libxml homebrew. Hãy chắc chắn rằng bạn trỏ đến đúng phiên bản của libxml2 cài đặt bởi homebrew, mà đối với tôi là 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

Một giải pháp đơn giản hơn:

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

Cảm ơn bạn! libxml2-dev chính xác là những gì bị thiếu trên ubuntu. Công trình tuyệt vời để cài đặt nokogiri :) – Antony

+0

'yum install libxml2-devel libxslt-devel' làm cho nó hoạt động trên hộp centos của tôi, cảm ơn! – JaredMcAteer

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