2012-12-13 107 views
1

我有一個應用程序,我已經成功推入了好幾次,剛開始崩潰時,我嘗試將它推送到heroku。Heroku RoR應用程序在啓動時崩潰 - 無法加載rails_config/sources/yaml_source

我以爲我做的唯一的改變是對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年12月13日]有趣的是 - 克隆當地回購並創建一個新的Heroku應用程序與它工作得很好,所以它看起來是一些與實例,而不是回購。觸摸文件重新部署不會修復它。

回答

0

原來這是.slugignore中的一個問題。

我這個診斷通過查看Heroku的如何建立捆綁和本地複製:

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

檢查所產生的束我證實,這名失蹤yaml_source文件(從rails_config)確實存在。然後我想起一半注意到,蛞蝓編譯曾表示,它正在刪除3個文件,而不是通常的1

我有一個頂層「源」,我是想用排除目錄

sources 

在.slugignore文件中。這是匹配gem中的sources目錄。改變了進入預定

/sources/ 

,所有又是很好的。

這留下了Heroku似乎在不同實例中使用不同版本的Slug Compiler的看法,它似乎已經發生了變化。 (我的應用程序在不同的實例上工作,.slugignore文件長時間不正確)