当我尝试启动我的rails服务器它不能(carrier_wave)无法加载雾时,我收到错误

时间:2017-08-14 12:44:59

标签: ruby-on-rails carrierwave fog fog-aws

我不知道为什么,但现在当我尝试使用rails sbundle exec rails s启动rails服务器时出现此错误:

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

它正在运作,现在它无法启动。

运行载波&雾和两个宝石都已安装

编辑:

这是Gemfile,抱歉这是一个要点的链接,但是SO决定我的帖子有太多代码,所以不能让我提交,所以现在,这是一个要点。

编辑: 这是包含carrierwave配置选项的gist,我们在环境文件中有配置选项,所以我只是为了这个要点而将代码块复制到一个文件中,我显然删除了私人信息,其他一切都没有改变。

2 个答案:

答案 0 :(得分:0)

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

config.fog_provider = 'fog/aws'

查看carrierwave readme,您可以在设置凭据哈希值之前看到官方代码示例中的“必填”行。

编辑:

刚才发现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或更高版本,但必须解释为什么您的应用程序之前看起来很好并且现在出现问题。在这一点上推测可能是值得的。

答案 1 :(得分:0)

随心所欲,我将fog宝石添加到Gemfile中......问题消失了,我的意思是,仍然存在问题,但它与此无关。如果您使用fog,我认为您不需要使用fog-aws,加上为什么它之前有效而不是现在?