whitequark / parser

A Ruby parser.
Other
1.59k stars 199 forks source link

Ruby master/head - racc is now a bundled gem, not a default gem #927

Closed MSP-Greg closed 1 year ago

MSP-Greg commented 1 year ago

When using bundler, breaks running RuboCop with Ruby master/head.

https://github.com/whitequark/parser/blob/0e0dfb8ac0003ca94ab393521a30b6c54512079c/lib/parser.rb#L12

iliabylich commented 1 year ago

Thanks for reporting. It's an external dependency, if https://github.com/whitequark/parser/pull/928 doesn't fix it we'll have to report it in the Racc repository.

iliabylich commented 1 year ago

I've published parser 3.2.2.2 with the latest Racc, could you test it please?

MSP-Greg commented 1 year ago

@iliabylich

Thanks for the quick release. It didn't work. The problem is that Bundler will use 'default' gems, but will not use 'bundled' gems.

So, it's not a ruby/racc issue, as it's due to a change in ruby/ruby. Was debating whether to open an issue there...

JFYI, my normal Ruby for OSS work (Ubuntu & Windows) is master, so I noticed it this morning.

iliabylich commented 1 year ago

Sorry, I don't get how it affects RuboCop. Parser itself works well with the latest ruby-head, there are no errors on loading racc/parser. If our test suite is able to do require 'parser' then how's it different from RuboCop doing the same?

MSP-Greg commented 1 year ago

It's only when used with Bundler. Here racc is a development dependency. I think if it was made a 'normal' dependency things would be fine, but that's kind of a pita for me to test...

With it only as a development dependency, if I run bundle exec rake rubocop, it generates

LoadError: cannot load such file -- racc/parser
koic commented 1 year ago

I opened https://github.com/whitequark/parser/pull/929 to resolve this issue and confirm a successful CI at https://github.com/rubocop/rubocop/pull/11942 with Parser 3.2.2.3.