ruby – cvs2json无法加载这样的文件 – orderedhash

我正在尝试使用这个宝石: 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问题:

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...