【问题标题】:I'm getting an error when I try to start my rails server that it can't (carrier_wave) can't load fog当我尝试启动我的 Rails 服务器时出现错误,它不能(carrier_wave)不能加载雾
【发布时间】:2017-08-14 12:44:58
【问题描述】:

我不知道为什么,但是现在当我尝试使用rails sbundle exec rails s 启动rails 服务器时,我收到了这个错误:

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

它正在工作,但现在无法启动。

正在运行载波和雾,并且两个 gem 都已安装

编辑:

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

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

【问题讨论】:

  • 你能具体说明这些 gem 的版本吗?
  • 你也可以传递 Gemfile
  • 请张贴您的 carrierwave.rb 初始化文件(config/initializers/carrierwave.rb)。

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


【解决方案1】:

一时兴起,我将fog gem 添加到Gemfile 中,然后...问题消失了,我的意思是,仍然存在问题,但与此无关。如果您使用fog-aws,我认为您不需要使用fog,另外为什么它以前可以工作而不是现在?

【讨论】:

  • 最后,我只是丢弃了当前分支中的所有更改,问题就消失了,我相信问题是 bundle update 更改了版本并破坏了东西,因为 Gemfile 没有t 对所有 gem 都有版本限制(呃),无论如何,问题已经解决了(sorta)所以是的,也感谢所有的帮助。
【解决方案2】:

您的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。

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

通常我可能不会建议文件还原,因为 Carrierwave 自述文件明确指出当前版本可在 Rails 4 或更高版本上运行,但必须解释一下为什么您的应用程序之前看起来还不错,现在却出现问题。在这一点上进行一些推测可能是值得的。

【讨论】:

  • 直到明天我才能检查这个,但我会声明我不是创建配置的人,奇怪的是它直到最近才工作。
  • 会不会是有人修改了 gemfile?我认为如果您使用雾而不是雾-aws,您可以跳过该配置行,因为默认行为是使用雾。也可能是您可能没有意识到其他人更改的某些内容。无论哪种方式,我相信你会感觉更好的解决方案。
  • 好的,我添加了配置选项,但仍然出错,cannot load such file -- fog
  • @Thermatix:更新了更多可能性。
  • 查看我的回答的评论
猜你喜欢
  • 2015-08-07
  • 2018-12-15
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
相关资源
最近更新 更多