当我部署到heroku并运行时heroku run rake db:migrate
我收到错误:
ArgumentError: invalid configuration option `:aws_access_key_id'
配置/初始化程序/aws.rb
if Rails.env.production?
S3Client = Aws::S3::Client.new(
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
aws_region: 'us-east-1'
)
end
配置/初始化器/Carrierwave.rb
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
region: 'us-east-1'
}
config.fog_directory = ENV['S3_BUCKET']
end
end
为什么我收到“无效配置选项”错误?
EDIT
新的 config/initializers/carrierwave.rb 文件:
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
region: 'us-east-1',
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
aws_region: 'us-east-1'
}
config.fog_directory = ENV['S3_BUCKET']
#config.fog_attributes = {:signature_version => :v4}
end
end
config/initializers/aws.rb 现在为空。
这已经修复了invalid configuration option
问题。但是它已被错误替换Missing required arguments: aws_access_key_id, aws_secret_access_key
当我跑步时RAILS_ENV=production bundle exec rake assets:precompile
.
更令人困惑的是,我成功地运行了RAILS_ENV=production bundle exec rake assets:precompile
进行上述更改后,但它突然停止工作了。