2009-10-12 92 views
2

我有一堆config.gem語句在我的environment.rb文件中:config.gem需要gem?

config.gem "fastercsv", :version => "~>1.5.0" 
    config.gem "parseexcel", :version => "~>0.5.2" 
    config.gem "geokit", :version => "~>1.4.1" 
    config.gem "facebooker", :version => "~>1.0.50" 

...

如果我做「耙寶石:安裝」然後我得到這個問題: 耙中止! 沒有這樣的文件加載 - fastercsv

嗯...我知道有沒有這樣的文件加載,因爲我想安裝它。我懷疑這可能是由於我的要求的位置。我有一個模塊在我的lib目錄:

module SmartContactsImporter 

    require 'fastercsv' 
    require 'parseexcel' 
... 

也許Rails不喜歡我需要的寶石有,但似乎很傻,因爲沒有什麼錯有你的模塊依賴於一個寶石。關於如何解決這個問題的任何想法?

UPDATE 原來,這個問題還發生在mechanize,geokit,並且該列表正在繼續。有點奇怪的是,config.gem在開箱時並不容易。僅供參考我不會凍結我的寶石。

回答

2

如果您在SmartContactsImporter中忽略了該要求,則該功能應起作用(config.gem "fastercsv"將爲您執行要求)。

你可以解決它時,需要在environment.rb有一個require

begin 
    require "rack/cache" 
rescue LoadError 
    STDERR.puts "not loaded rack/cache: #{$!}" 
end 

這是醜陋的,但它確實做的伎倆。

0

你不應該要求你的模塊內,config.gem將需要你。

還有一個與config.gem相關的問題,它將嘗試要求在安裝gem時尚未安裝的依賴gem,但目前看起來並非如此。

相關問題