Capistrano - Carrierwave LoadError:无法加载此类文件 - carrierwave/processing/mime_types

cle*_*001 3 capistrano ruby-on-rails amazon-web-services

当我运行cap生产部署时,我继续使用载波运行此错误.我在下面发布了我的载波设置.

Tasks: TOP => deploy:assets:precompile
The deploy has failed with an error: Exception while executing as deploy@104.236.193.148: rake exit status: 1
rake stdout: Nothing written
rake stderr: rake aborted!
LoadError: cannot load such file -- carrierwave/processing/mime_types
 /home/deploy/aldrinclement/shared/bundle/ruby/2.3.0/gems/activesupport-         4.2.6/lib/active_support/dependencies.rb:274:in `require'
 /home/deploy/aldrinclement/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
 /home/deploy/aldrinclement/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
 /home/deploy/aldrinclement/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
 /home/deploy/aldrinclement/releases/20170103201423/app/uploaders/author_image_uploader.rb:1:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud)

Carrierwave.rb

if Rails.env.production? || Rails.env.staging?
  CarrierWave.configure do |config|
    config.fog_credentials = {
        provider:                   'AWS',
        aws_access_key_id:         Rails.application.secrets.AWS_ACCESS_KEY_ID,
        aws_secret_access_key:     Rails.application.secrets.AWS_SECRET_ACCESS_KEY,
        region:                    Settings.aws_region
    }
    config.fog_directory = Settings.aws_s3_bucket_name
    config.permissions = 0666
    config.directory_permissions = 0777
    config.storage = :fog
  end
end

CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
Run Code Online (Sandbox Code Playgroud)

我的secrets.yml定义了AWS密钥 - 我遇到了缺少的aws密钥,并在deploy.rb文件中使用secrets.yml符号链接解决了这个问题.我在我的Gemfile中使用了carrierwave 1.0.0.

Sla*_*a.K 5

mime_types文件已从carrierwave中删除,请参阅commit.

你可能有require 'carrierwave/processing/mime_types'顶部app/uploaders/author_image_uploader.rb.您需要从项目中删除carrierwave mime_types引用并切换到mime-types gem,它现在是carrierwave的运行时依赖项或回滚到之前的carrierwave版本.