我正在尝试使用这个宝石:
csv2json(0.3.0),我收到一个错误.
在我的档案essaie.rb:
require 'csv2json' File.open('essaie.csv','r') do |input| File.open('output.json','w') do |output| CSV2JSON.parse(input,output) end end user@user-ThinkPad-L430:~/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>'
当我删除版本0.3.0(csv2json)并且我安装了以前的版本时,我收到此错误:
user@user-ThinkPad-L430:~/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>'
任何帮助?
注意:文件名essaie.csv包含与input.csv相同的数据(来自文档示例)
解决方法
刚碰到这个.看起来他们只是忘了依赖. Gems附带了他们需要的其他gem的列表,但是这个开发人员可能已经安装了orderedhash gem,并且没有注意它是否需要成为csv2json的依赖列表的一部分.
我打字:
gem install orderedhash
然后csv2json对我来说工作得很好.
另见最近关于此的github问题: