【问题标题】:Heroku and Refinerycms: Application failed to start ~ attachment_fu problemHeroku 和 Refinerycms:应用程序无法启动 ~ attachment_fu 问题
【发布时间】:2011-01-23 05:27:30
【问题描述】:

好的,我正在尝试让 Refinerycms 与 Heroku 合作,而我对这一切都是新手。我已经设置了一个 amazon s3 帐户并将密钥和 ID 添加到 amazon_s3.yml 文件中。

在 gart.heroku.com 在 Heroku 上启动时,我收到以下错误:

应用启动失败

/disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb:187:in read': No such file or directory - /disk1/home/slugs/141557_e8490b3_d5eb/mnt/config/amazon_s3.yml (Errno::ENOENT) from /disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb:187:inincluded' 来自 /disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:123:in include' from /disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:123:inhas_attachment' 来自/disk1/home/slugs/141557_e8490b3_d5eb/mnt/app/models/image.rb:13 来自 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire' 来自 /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:158:in require' from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:265:inrequire_or_load' ... 42 级... 来自 /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in instance_eval' from /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:ininitialize' 来自 /home/heroku_rack/heroku.ru:1:in `new' 来自/home/heroku_rack/heroku.ru:1

s3_backend.rb 第 187 行包含:

@@s3_config = @@s3_config = YAML.load(ERB.new(File.read(@@s3_config_path)).result)[RAILS_ENV].symbolize_keys

任何帮助都会很棒!

【问题讨论】:

  • 也许 amazon_s3.yml 在你的 .gitignore 文件中? (另外,请用refinerycms 重新标记这个问题)

标签: ruby-on-rails amazon-s3 heroku attachment-fu


【解决方案1】:

首先检查您的amazon_s3.yml 文件是否已签入到 git,如果是,那么您可以尝试以某种方式手动指定位置。如果 s3_backend.rb 中的类有设置路径的方法,你可以这样做:

S3Backend.s3_config_path = #{RAILS_ROOT}/config/amazon_s3.yml"

我建议将其放入初始化程序中。

【讨论】:

  • Jonnii,谢谢你的回答,我看过这个,但它仍然导致同样的问题。我可以在本地运行该应用程序,但不能在 Heroku 上运行。问题是我的 rails gem(我认为)已更新到 v 2.3.5,但应用程序是由 v 2.2.3 创建的,两个版本之间存在一些不兼容。这很不寻常,所以我已经彻底检查了我的整个开发环境,我认为我无论如何都没有正确设置它(Linux 上的菜鸟)。当我尝试重新部署新应用时,我会提醒您。
猜你喜欢
  • 2012-08-23
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 2011-05-18
  • 2021-12-31
  • 2017-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多