2013-05-31 38 views
7

Tôi đã cài đặt Nokogiri mà không cần bất kỳ vấn đề bằng cách chạy:Tại sao tôi không thể tải Nokogiri?

$ sudo gem install nokogiri 
Building native extensions. This could take a while... 
Successfully installed nokogiri-1.5.9 
1 gem installed 
Installing ri documentation for nokogiri-1.5.9... 
Installing RDoc documentation for nokogiri-1.5.9... 

Khi tôi chạy nokogiri.rb:

#!/usr/bin/ruby -w 

require 'nokogiri' 

puts "Current directory is: #{ Dir.pwd }" 
Dir.chdir("/home/askar/xml_files1") do |dirname| 

    puts "Now in: #{ Dir.pwd }" 
    xml_files = Dir.glob("ShipmentRequest*.xml") 

    if xml_files.empty? 
    puts "#{ dirname } is empty." 
    else 
    xml_files.each do |file| 
     doc = Nokogiri::XML(open(file)) 
     # ... do something with the doc ... 
    end 
    end 
end 

Tôi đã nhận lỗi:

$ ruby nokogiri.rb 
/home/askar/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- nokogiri (LoadError) 
    from /home/askar/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 

Tôi đang sử dụng của Ruby 1.9 .3, nhưng vì lý do nào đó nó đề cập đến Ruby 1.9.1. Đây có phải là nguyên nhân không?

+2

Không bao giờ sử dụng 'sudo' để cài đặt đá quý nếu bạn sử dụng RVM hoặc rbenv để quản lý Rubies của bạn, trừ khi bạn đang thiết lập để sử dụng" hệ thống "Ruby. –

+0

@the Tin Man. Cảm ơn, tôi sẽ ghi nhớ. – Askar

+0

Tại sao tôi bị bỏ phiếu? Tôi đã làm theo hướng dẫn cài đặt tại http://nokogiri.org/tutorials/installing_nokogiri.html và họ đang sử dụng "sudo" ở đó. – Askar

Trả lời

7

Nếu bạn quan sát kỹ, đường dẫn bắt đầu bằng /home/askar/.rvm/rubies/ruby-1.9.3-p429 để đường dẫn tải phải chính xác.

Vấn đề của bạn là bạn đã sử dụng sudo sẽ cài đặt đá quý cho hệ thống ruby. Hãy thử lại mà không cần sudo, chỉ cần

gem install nokogiri 

để cài đặt đá quý cho ruby ​​rvm hiện tại.

+0

Tuyệt vời! Nó làm việc sau đó tôi cài đặt lại mà không cần "sudo" – Askar

+0

Tuyệt vời để nghe! Mừng vì tôi có thể giúp. –

+0

Lưu ý, nó cũng có thể là cần thiết để chạy 'đá bỏ cài đặt nokogiri' và/hoặc' sudo gỡ cài đặt nokogiri' trước khi cài đặt lại gem. Đó là cho tôi ở mức nào. –

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