➜ ~ rubocop --help Traceback (most recent call last): 9: from /usr/bin/rubocop:6:in `<main>' 8: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 7: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 6: from /usr/lib/ruby/gems/2.5.0/gems/rubocop-0.74.0/lib/rubocop.rb:3:in `<top (required)>' 5: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 4: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 3: from /usr/lib/ruby/gems/2.5.0/gems/parser-2.7.0.4/lib/parser.rb:19:in `<top (required)>' 2: from /usr/lib/ruby/gems/2.5.0/gems/parser-2.7.0.4/lib/parser.rb:66:in `<module:Parser>' 1: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- parser/lexer (LoadError) ➜ ~ rpm -q rubocop rubocop-0.74.0-alt1.1.noarch
Воспроизвести не выходит, видимо "parser/lexer" определён где-то в локальных Gemfile-ах, но в требуемыз для самого rubocop-а она не находится, я рубокопа обновил и проверил локально у себя, запускается.
Гем установлен, но на всю систему сразу: ==8<========================================================== ➜ ~ gem list | egrep -i 'lexer|parser' parser (2.7.0.4) ➜ ~ gem uninstall parser ERROR: While executing gem ... (Gem::InstallError) parser is not installed in GEM_HOME, try: gem uninstall -i /usr/lib/ruby/gems/2.5.0 parser ➜ ~ rpm -qal |egrep parser.lexer | xargs -r rpm -qf |sort |uniq gem-parser-2.7.0.4-alt1.noarch ➜ ~ rpm -e --test gem-parser error: Failed dependencies: ruby-gem(parser) >= 2.6 is needed by (installed) gem-rubocop-0.74.0-alt1.1.noarch ==8<========================================================== и подтягивается по зависимостям он именно рубокопом. Но не работает. Судя по пути, где лежит гем (/usr/lib/ruby/gems/2.5.0), он собран для старой версий руби.
(Ответ для Evgenii Terechkov на комментарий #2) > Гем установлен, но на всю систему сразу: > ==8<========================================================== > ➜ ~ gem list | egrep -i 'lexer|parser' > parser (2.7.0.4) > ➜ ~ gem uninstall parser > ERROR: While executing gem ... (Gem::InstallError) > parser is not installed in GEM_HOME, try: > gem uninstall -i /usr/lib/ruby/gems/2.5.0 parser > ➜ ~ rpm -qal |egrep parser.lexer | xargs -r rpm -qf |sort |uniq > gem-parser-2.7.0.4-alt1.noarch > ➜ ~ rpm -e --test gem-parser > error: Failed dependencies: > ruby-gem(parser) >= 2.6 is needed by (installed) > gem-rubocop-0.74.0-alt1.1.noarch > ==8<========================================================== > > и подтягивается по зависимостям он именно рубокопом. Но не работает. > Судя по пути, где лежит гем (/usr/lib/ruby/gems/2.5.0), он собран для > старой версий руби. Ну это не важно для какой он собран, просто он тоже не имеет модуля lexer, я не знаю для какого приложения онт нужен
gem-rubocop-0.88.0-alt1 -> sisyphus: Tue Jul 14 2020 Pavel Skrylev <majioa@altlinux> 0.88.0-alt1 - ^ 0.74.0 -> 0.88.0 - ! executable runnning (closes #38650)
Всё равно не работает, но теперь уже по другому: =8<============================================================================== # ~ rubocop --help Traceback (most recent call last): 8: from /usr/bin/rubocop:6:in `<main>' 7: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 6: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 5: from /usr/lib/ruby/gems/2.7.0/gems/rubocop-0.88.0/lib/rubocop.rb:8:in `<top (required)>' 4: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 3: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' 2: from /usr/lib/ruby/gems/2.7.0/gems/regexp_parser-1.7.1/lib/regexp_parser.rb:5:in `<top (required)>' 1: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require' /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- regexp_parser/scanner (LoadError) # ~ rpm -q rubocop rubocop-0.88.0-alt1.noarch =8<==============================================================================
(Ответ для Evgenii Terechkov на комментарий #5) > Всё равно не работает, но теперь уже по другому: > =8<========================================================================== > ==== > # ~ rubocop --help > Traceback (most recent call last): > 8: from /usr/bin/rubocop:6:in `<main>' > 7: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in > `require' > 6: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in > `require' > 5: from > /usr/lib/ruby/gems/2.7.0/gems/rubocop-0.88.0/lib/rubocop.rb:8:in `<top > (required)>' > 4: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in > `require' > 3: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in > `require' > 2: from > /usr/lib/ruby/gems/2.7.0/gems/regexp_parser-1.7.1/lib/regexp_parser.rb:5:in > `<top (required)>' > 1: from /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in > `require' > /usr/lib/ruby/rubygems/core_ext/kernel_require.rb:92:in `require': cannot > load such file -- regexp_parser/scanner (LoadError) > # ~ rpm -q rubocop > rubocop-0.88.0-alt1.noarch > =8<========================================================================== > ==== Да, воспроизвёл, буду думать.
gem-rubocop-0.88.0-alt1.1 -> sisyphus: Fri Jul 17 2020 Pavel Skrylev <majioa@altlinux> 0.88.0-alt1.1 - ! dep to gem-regexp-parser, and gem-parser (closes #38650) - ! spec syntax