hardpixel / mrml-ruby

Ruby wrapper for MRML, the MJML parser implementation in Rust.
MIT License
43 stars 7 forks source link

LoadError in mrml 1.6.0 and ruby 3.0.0 #17

Closed ushi-as closed 2 hours ago

ushi-as commented 3 days ago

@jonian Thank you for the release. Unfortunatly it seems broken:

Describe the bug

Requiring mrml 1.6.0 results in LoadError.

To Reproduce

$ gem install --user --no-doc mrml -v 1.6.0
$ irb 
irb(main):001> require "mrml"
<internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- mrml/mrml (LoadError)
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from /home/ushi/.gem/ruby/3.0.0/gems/mrml-1.6.0-x86_64-linux/lib/mrml.rb:7:in `rescue in <top (required)>'
    from /home/ushi/.gem/ruby/3.0.0/gems/mrml-1.6.0-x86_64-linux/lib/mrml.rb:3:in `<top (required)>'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
    from (irb):1:in `<main>'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/exe/irb:9:in `<top (required)>'
    from /home/ushi/.gem/ruby/3.0.0/bin/irb:25:in `load'
    from /home/ushi/.gem/ruby/3.0.0/bin/irb:25:in `<main>'
<internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require': cannot load such file -- mrml/3.0/mrml (LoadError)
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
    from /home/ushi/.gem/ruby/3.0.0/gems/mrml-1.6.0-x86_64-linux/lib/mrml.rb:5:in `<top (required)>'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
    from (irb):1:in `<main>'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/workspace.rb:121:in `eval'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/workspace.rb:121:in `evaluate'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/context.rb:634:in `evaluate_expression'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/context.rb:601:in `evaluate'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1049:in `block (2 levels) in eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1380:in `signal_status'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1041:in `block in eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1120:in `block in each_top_level_statement'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1117:in `loop'
    ... 9 levels...
<internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- mrml/3.0/mrml (LoadError)
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from /home/ushi/.gem/ruby/3.0.0/gems/mrml-1.6.0-x86_64-linux/lib/mrml.rb:5:in `<top (required)>'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
    from (irb):1:in `<main>'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/workspace.rb:121:in `eval'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/workspace.rb:121:in `evaluate'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/context.rb:634:in `evaluate_expression'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/context.rb:601:in `evaluate'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1049:in `block (2 levels) in eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1380:in `signal_status'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1041:in `block in eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1120:in `block in each_top_level_statement'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1117:in `loop'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1117:in `each_top_level_statement'
    ... 8 levels...
<internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- mrml (LoadError)
    from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from (irb):1:in `<main>'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/workspace.rb:121:in `eval'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/workspace.rb:121:in `evaluate'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/context.rb:634:in `evaluate_expression'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb/context.rb:601:in `evaluate'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1049:in `block (2 levels) in eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1380:in `signal_status'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1041:in `block in eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1120:in `block in each_top_level_statement'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1117:in `loop'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1117:in `each_top_level_statement'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1040:in `eval_input'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1021:in `block in run'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1020:in `catch'
    from /home/ushi/.gem/ruby/3.0.0/gems/irb-1.13.2/lib/irb.rb:1020:in `run'
    ... 4 levels...

Expected behavior

MRML is usable.

Additional context Add any other context about the problem here.

ushi-as commented 3 days ago

@jonian This only happens with Ruby 3.0, which is EOL. I am closing this issue.

jonian commented 3 days ago

@ushi-as the gem supports ruby 3.0, the cross-gem action should be fixed to include 3.0. I also can't install 1.6.0 in ruby 2.7 while 1.5.1 has no issues installing.