当我尝试启动我的Rails服务器时,出现错误(Carrier_wave)无法加载雾

问题描述:

我不知道为什么,但现在当我尝试启动Rails服务器时,要么使用rails sbundle exec rails s我得到这个错误:当我尝试启动我的Rails服务器时,出现错误(Carrier_wave)无法加载雾

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

这是工作,现在,它不会启动。

正在运行载波&雾,同时安装了宝石

编辑:

这里是Gemfile,对不起,这是一个要点的链接,但这样决定了,我交了太多的代码,因此止跌不要让我提交,所以现在,这是一个要点。

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

+0

你能指定这些宝石的版本吗? –

+0

你也可以通过Gemfile – meta

+0

请发布你的'carrierwave.rb'初始化文件(在'config/initializers/carrierwave.rb'处)。 – MarsAtomic

看起来您缺少(至少)从您的carrierwave.rb配置文件中的一行。如果您使用的fog-aws宝石,你需要包括以下行:

config.fog_provider = 'fog/aws'

退房的carrierwave readme,你可以看到,该行的官方代码示例中评论说:“必要的”,在设置证书散列之前。

编辑:

刚才发现Carrierwave Issue 1648这似乎支持这一方案。

编辑2:

我知道你可以用fog-aws宝石和我指出或与fog宝石没有该行的配置运行Carrierwave。我建议评论配置线,并尝试只是fog宝石。

接下来要尝试的是确保您使用的版本是当您的Rails版本是最新时存在的Carrierwave版本。使用您应用的主目录中的bundle show carrierwave来查看已安装的版本,并考虑将其降级到0.10.0,此时Rails 4.2.9最新版本仅用于查看会发生什么情况。可能有人跑bundle update并破坏了应用程序,因为虽然您的gemfile指定了Rails版本,但Carrierwave没有特定的版本。更新一个没有另一个可能是什么打破了你的应用程序。

通常我可能不会建议文件恢复,因为Carrierwave自述文件明确指出当前版本适用于Rails 4或更高版本,但必须解释为什么您的应用程序在之前显示正常并且现在显示问题。在这一点上推测一下可能是值得的。

+0

我将无法检查到tommrow,但我会说我不是创建配置的人,奇怪的是,它一直在工作,直到最近。 – Thermatix

+0

难道是有人更改了gemfile吗?我认为如果你使用雾而不是fog-aws,你可以跳过配置线,因为默认行为是使用雾。也可能是因为你可能没有意识到别人改变了什么。无论哪种方式,我相信你会感觉更好的决议。 – MarsAtomic

+0

好吧,我添加了配置选项,仍然错误完全一样,'不能加载这样的文件 - 雾' – Thermatix

只是随心所欲,我在Gemfile中添加了fog宝石,并且......问题消失了,我的意思是仍然存在问题,但与此无关。我以为你不需要使用fog如果你使用fog-aws,加上为什么它以前工作,而不是现在?

+0

最后,我刚刚放弃了当前分支中的所有更改,问题消失了,我相信问题是'bundle update'更改了版本并破坏了一些东西,因为'Gemfile' doesn对所有宝石都没有版本限制(呃),不管怎样,问题都解决了(sorta),所以你也要感谢所有的帮助。 – Thermatix