【发布时间】:2015-04-07 21:58:27
【问题描述】:
我正在尝试使用 S3 上传图片,但是当我创建 config/initializers/carrierwave.rb
并添加
CarrierWave.configure do |config|
config.fog_credentials = {
# Configuration for Amazon S3 should be made available through an Environment variable.
# For local installations, export the env variable through the shell OR
# if using Passenger, set an Apache environment variable.
#
# In Heroku, follow http://devcenter.heroku.com/articles/config-vars
#
# $ heroku config:add S3_KEY=your_s3_access_key S3_SECRET=your_s3_secret S3_REGION=eu-west-1 S3_ASSET_URL=http://assets.example.com/ S3_BUCKET_NAME=s3_bucket/folder
# Configuration for Amazon S3
:provider => 'AWS',
:aws_access_key_id => ENV['S3_KEY'],
:aws_secret_access_key => ENV['S3_SECRET'],
#region => ENV['S3_REGION']
}
# For testing, upload files to local `tmp` folder.
#if Rails.env.test? || Rails.env.cucumber?
# config.storage = :file
# config.enable_processing = false
# config.root = "#{Rails.root}/tmp"
#else
# config.storage = :fog
#end
# To let CarrierWave work on heroku
config.cache_dir = "#{Rails.root}/tmp/uploads"
config.fog_directory = ENV['S3_BUCKET_NAME']
# Generate http:// urls. Defaults to :authenticated_read (https://)
#config.s3_access_policy = :public_read
#config.fog_host = "#{ENV['S3_ASSET_URL']}/#{ENV['S3_BUCKET_NAME']}"
end
rails s 甚至没有启动
我遇到了一堆这样的错误..
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/engine.rb:615:in
each' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/engine.rb:615:inblock in ' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:ininstance_exec' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:inrun' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/initializable.rb:55:inblock in run_initializers' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:226:inblock in tsort_each' 来自 /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:348:inblock (2 levels) in each_strongly_connected_component' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:418:inblock (2 级别)在 each_strongly_connected_component_from' 来自 /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:427:ineach_strongly_connected_component_from' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:417:inblock in each_strongly_connected_component_from' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:ineach' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:intsort_each_child' 来自 /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:411:incall' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:411:ineach_strongly_connected_component_from' 来自 /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:347:inblock in each_strongly_connected_component' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:345:ineach' 来自 /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:345:incall' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:345:ineach_strongly_connected_component' 来自 /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:224:intsort_each' from /usr/local/Cellar/ruby/2.1.5/lib/ruby/2.1.0/tsort.rb:205:intsort_each' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/initializable.rb:54:inrun_initializers' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/application.rb:352:ininitialize! 来自 /Users/atoder/Sites/rails_projects/post_app/config/environment.rb:5:in<top (required)>' from /Users/atoder/Sites/rails_projects/post_app/config.ru:3:inrequire' 来自 /Users/atoder/Sites/rails_projects/post_app/config.ru:3:inblock in <main>' from /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/builder.rb:55:ininstance_eval' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/builder.rb:55:ininitialize' from /Users/atoder/Sites/rails_projects/post_app/config.ru:innew' 来自 /Users/atoder/Sites/rails_projects/post_app/config.ru:in<main>' from /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/builder.rb:49:ineval' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/builder.rb:49:innew_from_string' from /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/builder.rb:40:inparse_file' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/server.rb:299:inbuild_app_and_options_from_config' from /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/server.rb:208:inapp' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/server.rb:61:inapp' from /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.0/lib/rack/server.rb:336:inwrapped_app' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/server.rb:139:inlog_to_stdout' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/server.rb:78:instart' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:80:inblock in server' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in点击' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:inserver' from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:inrun_command! 来自 /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in<top (required)>' from /Users/atoder/Sites/rails_projects/post_app/bin/rails:8:inrequire' 来自 /Users/atoder/Sites/rails_projects/post_app/bin/rails:8:in<top (required)>' from /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/lib/spring/client/rails.rb:27:inload' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/lib/spring/client/rails.rb:27:incall' from /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/lib/spring/client/command.rb:7:incall' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/lib/spring/client.rb:26:inrun' from /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/bin/spring:48:in' 来自 /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/lib/spring/binstub.rb:11:inload' from /usr/local/lib/ruby/gems/2.1.0/gems/spring-1.2.0/lib/spring/binstub.rb:11:in' 来自 /usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:inrequire' 来自 /Users/atoder/Sites/rails_projects/post_app/bin/spring:16:in `'
【问题讨论】:
-
是否设置了
S3_KEY、S3_SECRET和S3_BUCKET_NAME? -
@KenStipek 是的。我为 heroku 和我的 application.yml 文件设置了它们
-
如果你打开rails控制台并运行
puts env['S3_KEY']它会吐出密钥? -
当我这样做的时候不会给我一个错误