Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails NameError:未初始化的常量CarrierWave::Storage::Fog_Ruby On Rails_Ruby On Rails 4_Carrierwave_Fog_Fog Aws - Fatal编程技术网

Ruby on rails NameError:未初始化的常量CarrierWave::Storage::Fog

Ruby on rails NameError:未初始化的常量CarrierWave::Storage::Fog,ruby-on-rails,ruby-on-rails-4,carrierwave,fog,fog-aws,Ruby On Rails,Ruby On Rails 4,Carrierwave,Fog,Fog Aws,我在stackoverflow和github上尝试了几种解决方案,但都没有找到解决方案。我正在使用carrierwave(0.10.0)和fog aws(0.8.1)gems将我的应用程序的图像上传到S3 NameError: uninitialized constant CarrierWave::Storage::Fog from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader

我在stackoverflow和github上尝试了几种解决方案,但都没有找到解决方案。我正在使用carrierwave(0.10.0)fog aws(0.8.1)gems将我的应用程序的图像上传到S3

NameError: uninitialized constant CarrierWave::Storage::Fog
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:73:in `eval'
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:73:in `eval'
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:73:in `storage'
from /home/pulkit/dev/roid/rails/appbrowzer/app/uploaders/publisher_action_icon_uploader.rb:11:in `<class:PublisherActionIconUploader>'
from /home/pulkit/dev/roid/rails/appbrowzer/app/uploaders/publisher_action_icon_uploader.rb:3:in `<top (required)>'
from /home/pulkit/dev/roid/rails/appbrowzer/app/models/manage_channel_action.rb:3:in `<class:ManageChannelAction>'
from /home/pulkit/dev/roid/rails/appbrowzer/app/models/manage_channel_action.rb:1:in `<top (required)>'
from (irb):1
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:110:in `start'
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:9:in `start'
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:68:in `console'
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:9:in `require'
from bin/rails:9:in `<main>'
name错误:未初始化的常量CarrierWave::Storage::Fog
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:73:in'eval'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:73:in'eval'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:73:在“存储”中
from/home/pulkit/dev/roid/rails/appbrowser/app/uploaders/publisher\u action\u icon\u uploader.rb:11:in`'
from/home/pulkit/dev/roid/rails/appbrowser/app/uploaders/publisher\u action\u icon\u uploader.rb:3:in`'
from/home/pulkit/dev/roid/rails/appbrowser/app/models/manage\u channel\u action.rb:3:in`'
from/home/pulkit/dev/roid/rails/appbrowser/app/models/manage\u channel\u action.rb:1:in`'
来自(irb):1
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:110:in'start'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:9:in'start'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands\u tasks.rb:68:在“控制台”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands\u tasks.rb:39:in“run\u command!”
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in`'
从箱子/轨道:9:in“require”
从箱子/轨道:9:in`'
当我尝试使用fog(1.37.0)gem而不是fog awsgem时,我得到了不同的错误

ArgumentError:  is not a recognized provider
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/fog-core-1.35.0/lib/fog/core/services_mixin.rb:12:in `new'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/fog-core-1.35.0/lib/fog/storage.rb:27:in `new'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:102:in `connection'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:356:in `connection'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:368:in `directory'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:261:in `store'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:80:in `store!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/store.rb:59:in `block in store!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/callbacks.rb:17:in `with_callbacks'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/store.rb:58:in `store!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/mount.rb:375:in `store!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/mount.rb:207:in `store_icon!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:432:in `block in make_lambda'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:228:in `block in halting_and_conditional'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:506:in `block in call'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:506:in `each'
... 10 levels...
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:220:in `transaction'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:286:in `block in save'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:301:in `rollback_active_record_state!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:285:in `save'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/persistence.rb:34:in `create'
    from (irb):1
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:110:in `start'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:9:in `start'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:9:in `require'
    from bin/rails:9:in `<main>'2.3.0 :002 > 
ArgumentError:不是可识别的提供程序
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/fog-core-1.35.0/lib/fog/core/services_mixin.rb:12:in“new”
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/fog-core-1.35.0/lib/fog/storage.rb:27:in“new”
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:102:在“连接”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:356:在“连接”中
从/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:368:在“目录”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:261:在“商店”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:80:in'store!'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/store.rb:59:in'block in store!'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/callbacks.rb:17:in“with_callbacks”
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/store.rb:58:in'store!'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/mount.rb:375:店内
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/carrierwave-0.10.0/lib/carrierwave/mount.rb:207:in'store_icon!'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active\u support/callbacks.rb:432:in'block in make\u lambda'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active\u support/callbacks.rb:228:in`block in halting\u and_conditional'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_-support/callbacks.rb:506:in'block in call'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active\u support/callbacks.rb:506:in'each'
... 10级。。。
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active\u-record/connection\u-adapters/abstract/transaction.rb:184:in'within\u new\u transaction'
来自/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active\u record/connection\u adapters/abstract/database\u语句。rb:213:in“transaction”
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:220:在“transaction”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active\u record/transactions.rb:348:in`with\u transaction\u returning\u status'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:286:在“保存中的块”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active\u record/transactions.rb:301:处于“回滚”活动记录状态
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/transactions.rb:285:in'save'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active\u record/persistence.rb:34:in“create”
来自(irb):1
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:110:in'start'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:9:in'start'
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands\u tasks.rb:68:在“控制台”中
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands\u tasks.rb:39:in“run\u command!”
from/home/pulkit/.rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in`'
从箱子/轨道:9:in“require”
从箱子/轨道:9:in`'2.3.0:002>

您是否包含了“fog aws”宝石?我觉得我有一个类似的错误,因为我没有遵循文档的这一部分:

将您的gem文件从gem“fog aws”更新到gem“fog”,要求:'fog/aws'

通过在我的gem文件中添加fog gem修复了这个问题

gem 'fog', require: 'fog/aws'
如所述,从lib/carrierwave/storage/fog.rb中删除了配置文件,并将carrierwave配置置于config/initializer中
CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => 'XYZ',
    :aws_secret_access_key  => 'ABC',
    :region                 => 'region'
  }
  config.fog_directory  = 'bucket_name'
end