scelis / twine

Twine is a command line tool for managing your strings and their translations.
Other
840 stars 151 forks source link

Twine not working with Ruby 2.5.0 #232

Closed JojOatXGME closed 6 years ago

JojOatXGME commented 6 years ago

I'm using Arch Linux. Ruby has been updated to 2.5.0 in the package repository on 03.01.2018. After reinstalling Twine (since the package directory has changes) I just discovered that Twine does not work anymore. I have currently installed Twine 1.0.1.

I actually don't need to provide any input file. The application is just crashing all the time.

$ twine
Traceback (most recent call last):
    18: from /home/jojo/.gem/ruby/2.5.0/bin/twine:23:in `<main>'
    17: from /home/jojo/.gem/ruby/2.5.0/bin/twine:23:in `load'
    16: from /home/jojo/.gem/ruby/2.5.0/gems/twine-1.0.1/bin/twine:2:in `<top (required)>'
    15: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    14: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    13: from /home/jojo/.gem/ruby/2.5.0/gems/twine-1.0.1/lib/twine.rb:1:in `<top (required)>'
    12: from /home/jojo/.gem/ruby/2.5.0/gems/twine-1.0.1/lib/twine.rb:25:in `<module:Twine>'
    11: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    10: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
     9: from /home/jojo/.gem/ruby/2.5.0/gems/twine-1.0.1/lib/twine/plugin.rb:1:in `<top (required)>'
     8: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
     7: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
     6: from /home/jojo/.gem/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/load.rb:14:in `<top (required)>'
     5: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
     4: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
     3: from /home/jojo/.gem/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:1:in `<top (required)>'
     2: from /home/jojo/.gem/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:2:in `<module:SafeYAML>'
     1: from /home/jojo/.gem/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:3:in `<class:Parse>'
/home/jojo/.gem/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:22:in `<class:Date>': uninitialized constant SafeYAML::Parse::Date::DateTime (NameError)
Did you mean?  SafeYAML::Parse::Date::DATE_MATCHER

After discovering this problem, I have also tested Twine 1.0.1 on Ruby 2.4.0 on another machine. It did work. Then, I updated the system (which includes Ruby 2.5.0) and Twine started to crash also on this machine.

sebastianludwig commented 6 years ago

Just for reference, this was also reported in #231

JojOatXGME commented 6 years ago

That is interesting because he seems to use Ruby 2.3 (and not 2.5). However, I have just downgraded Ruby to 2.4.3 and it has fixed the issue for me.

scelis commented 6 years ago

Pretty sure this is a bug in SafeYAML, as described in #231

also see https://github.com/dtao/safe_yaml/pull/90

sebastianludwig commented 6 years ago

Just for reference, should be fixed in #237