MiniProfiler / rack-mini-profiler

Profiler for your development and production Ruby rack apps.
MIT License
3.69k stars 401 forks source link

No longer compatible with Ruby 2.4 #528

Closed DRBragg closed 2 years ago

DRBragg commented 2 years ago

Due to changes in #518 rack-mini-profiler is no longer compatible with Ruby 2.4.

When attempting to use it in a Rails 5.0 and Ruby 2.4 environment attempting to boot the rails server will result in the following error:

/var/bigred/shared/bundler/ruby/2.4.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require': /var/bigred/shared/bundler/ruby/2.4.0/gems/rack-mini-profiler-3.0.0/lib/mini_profiler/storage/redis_store.rb:238: syntax error, unexpected keyword_rescue, expecting keyword_end (SyntaxError) rescue ^ /var/bigred/shared/bundler/ruby/2.4.0/gems/rack-mini-profiler-3.0.0/lib/mini_profiler/storage/redis_store.rb:352: syntax error, unexpected keyword_end, expecting end-of-input from /var/bigred/shared/bundler/ruby/2.4.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require' from /var/bigred/shared/bundler/ruby/2.4.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency' from /var/bigred/shared/bundler/ruby/2.4.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require' from /var/bigred/shared/bundler/ruby/2.4.0/gems/rack-mini-profiler-3.0.0/lib/rack-mini-profiler.rb:21:in `' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:81:in `require' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:81:in `block (2 levels) in require' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require' from /usr/lib/rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require' from /var/bigred/versions/development/config/application.rb:5:in `' from /var/bigred/shared/bundler/ruby/2.4.0/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:88:in `require' from /var/bigred/shared/bundler/ruby/2.4.0/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:88:in `block in server' from /var/bigred/shared/bundler/ruby/2.4.0/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:85:in `tap' from /var/bigred/shared/bundler/ruby/2.4.0/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:85:in `server' from /var/bigred/shared/bundler/ruby/2.4.0/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:49:in `run_command!' from /var/bigred/shared/bundler/ruby/2.4.0/gems/railties-5.0.7.2/lib/rails/commands.rb:18:in `' from bin/rails:4:in `require' from bin/rails:4:in `
'

This is because, unfortunately, the use of rescue in a block isn't available until 2.5.