2013-05-31 16 views
7

Ho installato Nokogiri senza problemi eseguendo:Perché non posso caricare 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... 

Quando eseguo 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 

ho ottenuto l'errore:

$ 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' 

sto usando Ruby 1.9 .3, ma per qualche motivo si riferisce a Ruby 1.9.1. Può essere questa la causa?

+2

Non usare mai 'sudo' per installare gems se si utilizza RVM o rbenv per gestire i propri Ruby, a meno che non si stia utilizzando il" sistema "Ruby. –

+0

@the Tin Man. Grazie, terrò a mente. – Askar

+0

Perché non ho votato? Stavo seguendo le istruzioni di installazione su http://nokogiri.org/tutorials/installing_nokogiri.html e stanno usando "sudo" lì. – Askar

risposta

7

Se si osserva da vicino, il percorso inizia con /home/askar/.rvm/rubies/ruby-1.9.3-p429 in modo che il percorso di caricamento sia corretto.

Il tuo problema è che hai usato sudo che farà un'installazione gemma per il sistema rubino. Riprovare senza sudo, basta

gem install nokogiri 

installare gemme per il rubino rvm corrente.

+0

Great! Ha funzionato quindi ho reinstallato senza "sudo" – Askar

+0

Ottimo per sentire! Felice di poterti aiutare. –

+0

Nota: potrebbe anche essere necessario eseguire 'gem uninstall nokogiri' e/o' sudo uninstall nokogiri' prima di installare nuovamente la gem. In ogni caso era per me. –

Problemi correlati