Heroku FoR应用程序在启动时崩溃 - 无法加载rails config / sources / yaml source

时间:2012-12-13 01:05:56

标签: heroku

我有一个应用程序,我已成功推送了几次,当我尝试将其推送到heroku时刚刚开始崩溃。

我认为我所做的唯一更改是使用yaml配置文件,因此我将该文件替换为早期版本,但崩溃仍在继续。有关如何追踪这一点的任何想法?

heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 38838`
app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- rails_config/sources/yaml_source (LoadError)
app[web.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/rails_config-0.3.1/lib/rails_config.rb:4:in `<top (required)>'

[已添加 - 12/13/12]有趣的是 - 克隆本地仓库并使用它创建一个新的Heroku应用程序工作正常,因此它看起来与实例而不是回购。触摸文件重新部署并不能解决问题。

1 个答案:

答案 0 :(得分:0)

原来这是.slugignore中的一个问题。

我通过观察Heroku如何构建捆绑并在本地再现它来诊断出这一点:

bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment.

检查生成的包我确认丢失的yaml_source文件(来自rails_config)确实存在。然后我记得有一半注意到slug编译器说它删除了3个文件而不是通常的1个文件。

我有一个顶级'来源'目录,我试图用

排除
sources
<。>在.slugignore文件中。这与gem中的sources目录匹配。将条目更改为预期的

/sources/

一切都很好。

这留下了Heroku似乎在不同的实例中使用不同版本的Slug Compiler并且它似乎已经改变的观察结果。 (我的应用程序适用于不同的实例,并且.slugignore文件长时间不正确)