繁体   English   中英

ruby 1.9.2中的fastercsv错误

[英]fastercsv error with ruby 1.9.2

我有一个现有的rails应用程序我在ruby 1.9.2和linux上运行它的rails版本

rails 2.3.8

它也有一个GEMFILE,在它的vendor / gems目录下它有'fastercsv-1.5.4'的宝石
在其迁移中(在两次迁移中)它需要宝石'fastercsv'

require 'fastercsv'

但是,当我这样做

rake db:migrate 

它没有通过迁移声明

“请切换到Ruby 1.9的标准CSV库。它是FasterCSV加上对Ruby 1.9的m17n编码引擎的支持。”

我发现消息来自gems'fast_csv.rb'文件。 因为它有条件检查ruby版本

if RUBY_VERSION >= "1.9"

  class FasterCSV
    def self.const_missing(*_)
      raise NotImplementedError, "Please switch to Ruby 1.9's standard CSV "  +
                                 "library.  It's FasterCSV plus support for " +
                                 "Ruby 1.9's m17n encoding engine."
    end

    def self.method_missing(*_)
      const_missing
    end

    def method_missing(*_)
      self.class.const_missing
    end
  end

-- and more code

有人能告诉我如何解决这个问题。 请注意,'fastercsv'尚未添加到GEMFILE中。

您不需要在Ruby 1.9.2中使用FasterCSV gem,因为它已作为标准库的CSV包含(例如, require 'csv' )。 只需将应用程序中的引用从FasterCSVCSV并删除vendor/gems/fastercsv文件夹,它应该只是工作(tm)

我找到了问题的答案

它基于这篇文章

什么是Ruby 1.9标准CSV库?

作为我必须的解决方案

require 'csv'

代替

require 'fastercsv'

并将FasterCSV更改为CSV

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM