![](/img/trans.png)
[英]Rails app crashes on Heroku but runs fine locally -> “State changed from starting to crashed”
[英]How to debug Rails app that crashes on Heroku, runs fine locally
我的Rails应用在本地运行良好。 但是,当我将其推送到Heroku时,它突然显示Status 503
,甚至无法转到静态页面。
奇怪的是,该应用程序已成功在Heroku上构建和部署。 但是当我尝试转到我的应用程序时,它显示“应用程序错误”。 运行heroku logs -tail
只能告诉我这一点:
at=error code=H10 desc="App crashed" method=GET path="/"
host=flow-portal-rails.herokuapp.com
request_id=3a4ff52c-9ff2-44b0-a701-038b74319bf9
fwd="107.143.141.1" dyno= connect= service= status=503
bytes= protocol=https
我正在使用BUNDLER 2.0.1,我的Gemfile是正确的。 我不确定是什么原因导致我的应用突然出现这种情况。
您可以尝试的一件事是设置:
config.eager_load = true
在您的config/environments/development.rb
。
如果您具有config.eager_load = false
,那么您的应用程序中可能会遇到一些问题,因为罪魁祸首代码无法访问(因此无法加载),因此您在development
不会看到这些问题。
相比之下,在Heroku production
中,所有代码都已加载,并且可能会遇到development
未发现的development
。
在开发中加载整个应用程序时, 可能会看到与Heroku相同的问题。
现在,将config.eager_load = true
设置config.eager_load = true
可能会导致各种开发速度变慢,因此请记住这一点。 我一直在development
设置config.eager_load = true
,因为我已经厌倦了您所描述的意外崩溃。
或者,这可能根本没有帮助。 你得看看。
我认为问题出在迁移上,您可以在服务器上正确运行所有迁移,但是在Heroku上,所有迁移都无法正常运行。
现在您有两个选择:
回滚所有迁移,然后每个迁移一个接一个地运行,并将其部署到Heroku。
只需删除Heroku上的现有应用程序并制作一个新应用程序,然后从GitHub部署所有代码即可
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.