LoginSignup
1
1

More than 5 years have passed since last update.

rails環境でbetter_errorsとhamlでErubi に関するエラーが発生した時の対処法

Last updated at Posted at 2017-08-14

rails環境でbetter_errorsとhamlでErubi に関するエラーが発生した時の対処法

環境

  • Ruby 2.4.1
  • Rails 4.2.8
  • haml 5.0.2
  • haml-rails 1.0.0
  • better_errors 2.3.0

エラー内容

/home/user/src/vendor/bundle/ruby/2.4.0/gems/haml-5.0.2/lib/haml/helpers/safe_erubi_template.rb:5: warning: toplevel constant Erubi referenced by ActionView::Template::Handlers::ERB::Erubi
/home/user/src/vendor/bundle/ruby/2.4.0/gems/haml-5.0.2/lib/haml/helpers/safe_erubi_template.rb:5:in `<module:Haml>': superclass must be a Class (Module given) (TypeError)
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/haml-5.0.2/lib/haml/helpers/safe_erubi_template.rb:4:in `<top (required)>'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/haml-5.0.2/lib/haml/railtie.rb:30:in `block (2 levels) in <class:Railtie>'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:27:in `each'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/haml-5.0.2/lib/haml/railtie.rb:22:in `block in <class:Railtie>'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/initializable.rb:30:in `instance_exec'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/initializable.rb:30:in `run'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `each'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `call'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
    from /home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/initializable.rb:54:in `run_initializers'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/application.rb:352:in `initialize!'
    from /home/user/src/config/environment.rb:5:in `<top (required)>'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/application.rb:328:in `require_environment!'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:142:in `require_application_and_environment!'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:128:in `generate_or_destroy'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:50:in `generate'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /home/user/src/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

対処法

better_errorsのバージョンを 2.3.0 から 2.2.0 にする

# Gemfile
group :development do
  gem 'better_errors', "2.2.0"
end

補足

こちらは暫定対処なので、下記Issueが解決されたらbetter_errorsのバージョンアップができるようになると思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1