heroku[router]: at=错误代码=H10 desc="应用程序崩溃"方法

Abr*_*hin 4 deployment ruby-on-rails heroku ruby-on-rails-5 ruby-3.1

Ruby on Rails - Heroku 部署上,我得到了一个错误heroku[route]: at=error code=H10 desc="App crashed" method经过一些调试日志文本,我得到的日志文件的主要部分:

2022-01-08T11:12:12.754916+00:00 heroku[web.1]: Starting process with command `bin/rails server -p ${PORT:-5000} -e production`
2022-01-08T11:12:16.534794+00:00 app[web.1]: => Booting Puma
2022-01-08T11:12:16.534809+00:00 app[web.1]: => Rails 6.1.4.4 application starting in production 
2022-01-08T11:12:16.534810+00:00 app[web.1]: => Run `bin/rails server --help` for more startup options
2022-01-08T11:12:17.742438+00:00 app[web.1]: Exiting
2022-01-08T11:12:17.745593+00:00 app[web.1]: /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:34:in `require': cannot load such file -- net/pop (LoadError)
2022-01-08T11:12:17.745616+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
2022-01-08T11:12:17.745630+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/mail-2.7.1/lib/mail/network/retriever_methods/pop3.rb:36:in `<class:POP3>'
2022-01-08T11:12:17.745642+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/mail-2.7.1/lib/mail/network/retriever_methods/pop3.rb:35:in `<module:Mail>'
2022-01-08T11:12:17.745655+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/mail-2.7.1/lib/mail/network/retriever_methods/pop3.rb:4:in `<main>'
2022-01-08T11:12:17.745668+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
2022-01-08T11:12:17.745681+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
2022-01-08T11:12:17.745694+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'
2022-01-08T11:12:17.745708+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
2022-01-08T11:12:17.745720+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
2022-01-08T11:12:17.745733+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
2022-01-08T11:12:17.745745+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/mail-2.7.1/lib/mail.rb:54:in `block in eager_autoload!'
2022-01-08T11:12:17.745761+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/mail-2.7.1/lib/mail.rb:54:in `each'
2022-01-08T11:12:17.745774+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/mail-2.7.1/lib/mail.rb:54:in `eager_autoload!'
2022-01-08T11:12:17.745786+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/actionmailer-6.1.4.4/lib/action_mailer.rb:61:in `eager_load!'
2022-01-08T11:12:17.745799+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/application/finisher.rb:134:in `each'
2022-01-08T11:12:17.745811+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/application/finisher.rb:134:in `block in <module:Finisher>'
2022-01-08T11:12:17.745824+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:32:in `instance_exec'
2022-01-08T11:12:17.745838+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:32:in `run'
2022-01-08T11:12:17.745850+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:61:in `block in run_initializers'
2022-01-08T11:12:17.745863+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each'
2022-01-08T11:12:17.745875+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
2022-01-08T11:12:17.745888+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from'
2022-01-08T11:12:17.745900+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component'
2022-01-08T11:12:17.745913+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:347:in `each'
2022-01-08T11:12:17.745926+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:347:in `call'
2022-01-08T11:12:17.745938+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component'
2022-01-08T11:12:17.745950+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each'
2022-01-08T11:12:17.745963+00:00 app[web.1]:    from /app/vendor/ruby-3.1.0/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each'
2022-01-08T11:12:17.745975+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:60:in `run_initializers'
2022-01-08T11:12:17.745988+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/application.rb:391:in `initialize!'
2022-01-08T11:12:17.746002+00:00 app[web.1]:    from /app/config/environment.rb:5:in `<main>'
2022-01-08T11:12:17.746015+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
2022-01-08T11:12:17.746027+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
2022-01-08T11:12:17.746040+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'
2022-01-08T11:12:17.746053+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
2022-01-08T11:12:17.746066+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
2022-01-08T11:12:17.746079+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
2022-01-08T11:12:17.746092+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
2022-01-08T11:12:17.746104+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
2022-01-08T11:12:17.746117+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
2022-01-08T11:12:17.746130+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:54:in `require_relative'
2022-01-08T11:12:17.746143+00:00 app[web.1]:    from config.ru:3:in `block in <main>'
2022-01-08T11:12:17.746156+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `eval'
2022-01-08T11:12:17.746169+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `new_from_string'
2022-01-08T11:12:17.746181+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/builder.rb:105:in `load_file'
2022-01-08T11:12:17.746194+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/builder.rb:66:in `parse_file'
2022-01-08T11:12:17.746206+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/server.rb:349:in `build_app_and_options_from_config'
2022-01-08T11:12:17.746219+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/server.rb:249:in `app'
2022-01-08T11:12:17.746232+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/server.rb:422:in `wrapped_app'
2022-01-08T11:12:17.746245+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/server.rb:312:in `block in start'
2022-01-08T11:12:17.746258+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/server.rb:379:in `handle_profiling'
2022-01-08T11:12:17.746270+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/server.rb:311:in `start'
2022-01-08T11:12:17.746283+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/commands/server/server_command.rb:39:in `start'
2022-01-08T11:12:17.746297+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/commands/server/server_command.rb:144:in `block in perform'
2022-01-08T11:12:17.746309+00:00 app[web.1]:    from <internal:kernel>:90:in `tap'
2022-01-08T11:12:17.746322+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/commands/server/server_command.rb:135:in `perform'
2022-01-08T11:12:17.746335+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
2022-01-08T11:12:17.746348+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
2022-01-08T11:12:17.746361+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
2022-01-08T11:12:17.746373+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/command/base.rb:69:in `perform'
2022-01-08T11:12:17.746386+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/command.rb:48:in `invoke'
2022-01-08T11:12:17.746399+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.4.4/lib/rails/commands.rb:18:in `<main>'
2022-01-08T11:12:17.746412+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
2022-01-08T11:12:17.746424+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
2022-01-08T11:12:17.746437+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'
2022-01-08T11:12:17.746451+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
2022-01-08T11:12:17.746463+00:00 app[web.1]:    from /app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
2022-01-08T11:12:17.746476+00:00 app[web.1]:    from bin/rails:5:in `<main>'
2022-01-08T11:12:17.961296+00:00 heroku[web.1]: Process exited with status 1
2022-01-08T11:12:18.044550+00:00 heroku[web.1]: State changed from starting to crashed
Run Code Online (Sandbox Code Playgroud)

虽然这是生产环境上完整日志文本的主要主题,但在本地开发环境中,启动 Rails 服务器时没有发现问题!开发环境一切正常。

此外,该 URL 还显示以下文本:

Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail

And the console is showing this: Failed to load resource: the server responded with a status of 503 (Service Unavailable)
Run Code Online (Sandbox Code Playgroud)

Abr*_*hin 5

解决方案

好的,在修复从日志文件中发现的错误的几次部署之后,我发现,在Gemfile中,我们需要添加一些依赖项所需的gem (大约 3 个 gem)。这些宝石是:

# Gemfile

gem 'net-smtp', require: false
gem 'net-pop', require: false
gem 'net-imap', require: false
Run Code Online (Sandbox Code Playgroud)

将它们添加到我们的 gem 文件后,运行

bundle install
Run Code Online (Sandbox Code Playgroud)

然后将代码部署到heroku上,这将进行正确的部署。