簡體   English   中英

嘗試啟動Rails服務器時出現錯誤,提示它無法(carrier_wave)無法加載霧

[英]I'm getting an error when I try to start my rails server that it can't (carrier_wave) can't load fog

我不知道為什么,但是現在當我嘗試使用rails sbundle exec rails s啟動rails服務器時,出現以下錯誤:

active_support/dependencies.rb:274:in 'require': cannot load such file -- fog (LoadError)

它正在工作,現在將無法啟動。

正在運行載波和霧並且兩個寶石都已安裝

編輯:

這是Gemfile ,很抱歉,它是一個要點的鏈接,但是SO決定我的帖子中有太多代碼,所以不讓我提交,所以現在,這是要點。

編輯:這是包含載波配置選項的要點 ,我們在環境文件中有配置選項,因此出於這個要點,我只是將代碼塊復制到了一個文件中,顯然我已經刪除了私有信息,所有內容否則不受影響。

看來您(至少)在carrierwave.rb配置文件中缺少一行。 如果您使用的是fog-aws gem,則需要包含以下行:

config.fog_provider = 'fog/aws'

在設置憑證哈希之前,請查看載波自述文件 ,您會發現在官方代碼示例中該行被注釋為“必需”。

編輯:

剛剛發現了Carrierwave Issue 1648 ,它似乎支持此解決方案。

編輯2:

我知道您可以使用我所指出的fog-aws gem和配置運行Carrierwave,也可以使用不帶該行的fog gem運行Carrierwave。 我建議注釋掉配置行,然后嘗試使用fog gem。

接下來要嘗試的是確保您使用的是當前版本的Rails時存在的Carrierwave版本。 使用應用程序主目錄中的bundle show carrierwave查看安裝的版本,並考慮降級到0.10.0(這是當前Rails 4.2.9的最新版本),以查看會發生什么。 可能是有人運行了bundle update並破壞了應用程序,因為盡管您的gemfile指定了Rails版本,但Carrierwave沒有特定的版本。 沒有一個更新另一個可能會破壞您的應用程序。

通常,我可能不建議文件還原,因為Carrierwave自述文件明確指出當前版本可在Rails 4或更高版本上運行,但是必須對為什么您的應用以前看起來還不錯並且現在出現問題進行一些解釋。 在這一點上推測一下可能是值得的。

只是一時興起,我將fog寶石添加到了Gemfile中,...問題消失了,我的意思是,仍然有問題,但這與該問題無關。 我以為如果使用fog-aws就不需要用fog ,再加上為什么以前而不是現在能工作?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM