2014-06-08 10 views
6

Ich versuche, dieses Juwel zu verwenden: csv2json (0.3.0) und ich bekomme einen Fehler.cvs2json kann solche Datei nicht laden - orderedhash

Auf meiner Datei essaie.rb:

require 'csv2json' 

File.open('essaie.csv', 'r') do |input| 
    File.open('output.json', 'w') do |output| 
     CSV2JSON.parse(input, output) 
    end 
end 


[email protected]:~/development/public/opendata/other$ ruby essaie.rb 
/home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- orderedhash (LoadError) 
    from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/user/.rvm/gems/ruby-2.1.0/gems/csv2json-0.3.0/lib/csv2json.rb:4:in `<top (required)>' 
    from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require' 
    from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' 
    from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require' 
    from essaie.rb:1:in `<main>' 

Wenn ich entfernen Sie die Version 0.3.0 (csv2json) und installierte ich die vorherige Version erhalte ich diese Fehlermeldung:

[email protected]:~/development/public/opendata/other$ ruby essaie.rb 
/home/user/.rvm/gems/ruby-2.1.0/gems/csv2json-0.2.0/lib/csv2json.rb:17:in `initialize': wrong number of arguments (2 for 0) (ArgumentError) 
    from /home/user/.rvm/gems/ruby-2.1.0/gems/csv2json-0.2.0/lib/csv2json.rb:17:in `new' 
    from /home/user/.rvm/gems/ruby-2.1.0/gems/csv2json-0.2.0/lib/csv2json.rb:17:in `parse' 
    from essaie.rb:5:in `block (2 levels) in <main>' 
    from essaie.rb:4:in `open' 
    from essaie.rb:4:in `block in <main>' 
    from essaie.rb:3:in `open' 
    from essaie.rb:3:in `<main>' 

jede Hilfe?

Hinweise: Dateiname essaie.csv enthält die gleichen Daten wie input.csv (aus dem Beispiel der Dokumentation)

Antwort

9

lief Gerade dies in mich. Sieht so aus, als hätten sie gerade eine Abhängigkeit vergessen. Edelsteine ​​kommen mit einer Liste von anderen Edelsteinen, die sie benötigen, aber dieser Entwickler hatte wahrscheinlich den bestellten Schatz bereits installiert und achtete nicht darauf, dass er Teil der Abhängigkeitsliste für csv2json sein musste.

Ich tippte:

gem orderedhash

installieren und dann arbeitete csv2json für mich ganz gut.

Siehe auch eine Github Ausgabe vor kurzem über diese geöffnet:

https://github.com/darwin/csv2json/issues/12

+0

ich sudo benötigen in meinen Terminal. Vielen Dank! –