簡體   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