Giter Club home page Giter Club logo

Comments (16)

Earlopain avatar Earlopain commented on June 12, 2024 1

Looks like a new bundler version released yesterday. Give that a try?

from rubocop.

Earlopain avatar Earlopain commented on June 12, 2024

I can't reproduce this. Can you give more detailed instructions?

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

Repo in question: https://github.com/djberg96/io-extra

bundle install then rake rubocop

Full backtrace:

dberger:/home/dberger/Dev/io-extra [main]>rake rubocop --trace
** Invoke rubocop (first_time)
** Execute rubocop
rake aborted!
NameError: uninitialized constant Bundler::SharedHelpers (NameError)

      Bundler::SharedHelpers.filesystem_access(loaded_from, :read) do
             ^^^^^^^^^^^^^^^
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler/rubygems_ext.rb:151:in `data'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/stub_specification.rb:158:in `name'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/stub_specification.rb:88:in `activated?'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/specification.rb:1058:in `block in find_active_stub_by_path'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/specification.rb:1057:in `each'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/specification.rb:1057:in `find'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/specification.rb:1057:in `find_active_stub_by_path'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `block in require'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:39:in `synchronize'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:39:in `require'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler/rubygems_ext.rb:211:in `<module:Gem>'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler/rubygems_ext.rb:33:in `<top (required)>'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler.rb:10:in `require_relative'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler.rb:10:in `<top (required)>'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.4/lib/rubocop/lockfile.rb:6:in `<top (required)>'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.4/lib/rubocop.rb:743:in `require_relative'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.4/lib/rubocop.rb:743:in `<top (required)>'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
<internal:/home/dberger/.rbenv/versions/3.2.4/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.4/lib/rubocop/rake_task.rb:47:in `run_cli'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.4/lib/rubocop/rake_task.rb:26:in `block (2 levels) in initialize'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/file_utils_ext.rb:58:in `verbose'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.4/lib/rubocop/rake_task.rb:24:in `block in initialize'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:83:in `block in run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:80:in `run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
/home/dberger/.rbenv/versions/3.2.4/bin/rake:25:in `load'
/home/dberger/.rbenv/versions/3.2.4/bin/rake:25:in `<main>'
Tasks: TOP => rubocop

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

The weird thing is that I only see this on my Ubuntu laptop. Using my desktop Ubuntu VM, it works. Identical setup as far as I can tell. I double checked the results of bundler config (both empty) and neither has anything in a ~/.gemrc file.

from rubocop.

Earlopain avatar Earlopain commented on June 12, 2024

Yeah, there must be more to this. I tried with your repo and it just works for me

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

If I just run rubocop without using the Rake task I see this:

>rubocop
Inspecting 2 files
..

2 files inspected, no offenses detected
No such file or directory @ rb_sysopen - /home/dberger/Dev/io-extra/Gemfile.lock
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler.rb:526:in `initialize'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler.rb:526:in `open'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler.rb:526:in `block in read_file'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler/shared_helpers.rb:103:in `filesystem_access'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/bundler-2.5.10/lib/bundler.rb:525:in `read_file'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/lockfile.rb:77:in `parser'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/lockfile.rb:30:in `dependencies'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli/command/suggest_extensions.rb:74:in `all_extensions'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli/command/suggest_extensions.rb:96:in `not_installed_extensions'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli/command/suggest_extensions.rb:88:in `extensions'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli/command/suggest_extensions.rb:18:in `run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli/command.rb:11:in `run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli/environment.rb:18:in `run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:122:in `run_command'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:134:in `suggest_extensions'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:129:in `block in execute_runners'
<internal:kernel>:90:in `tap'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:129:in `execute_runners'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:51:in `block in run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:81:in `profile_if_needed'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/lib/rubocop/cli.rb:43:in `run'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/exe/rubocop:19:in `block in <top (required)>'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/3.2.0/benchmark.rb:311:in `realtime'
/home/dberger/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/rubocop-1.63.5/exe/rubocop:19:in `<top (required)>'
/home/dberger/.rbenv/versions/3.2.4/bin/rubocop:25:in `load'
/home/dberger/.rbenv/versions/3.2.4/bin/rubocop:25:in `<main>'

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

I dunno if this is a clue or what, but it works if I first, explicitly require 'bundler' at the top of the Rakefile and second, touch the Gemfile.lock file so that it exists before running the task. Why does it need this file to be present? No clue. It's not checked into the repo.

from rubocop.

Earlopain avatar Earlopain commented on June 12, 2024

That's #12876, I have a PR open for that #12901. Maybe that also fixes this? Give it a try (I guess its a bit harder than just checking out the PR since it must be installed beforehand, not sure offhand how to do that).

For me the lockfile always generated before rubocop tried to access it

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

@Earlopain Seems to fix running rubocop, but not if run as a rake task.

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

@Earlopain I'm also sort of confused by the lockfile.rb code in general. If rubocop needs bundler to function properly, then why not make it a gem dependency instead of this rigamarole they've got going on in that file?

from rubocop.

Earlopain avatar Earlopain commented on June 12, 2024

I guess it's more of a optional dependency. Since everything around it relies on the contents of a lockfile it's a safe assumption to make that bundler will be around as well. That's how I would rationalize it.

I think you may be running into a bundler bug. rubygems/rubygems#7647 seems very relevant as it mentions rakefiles and SharedHelpers. The description is too complicated for me to quickly understand but I think that may be it.

Downgrading bundler to 2.5.9 should confirm this.

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

Downgrading to 2.5.9 didn't seem to do it, though I'm also not 100% sure because downgrading bundler required some manual fiddling since it's a default gem. Could be, though.

But, that still wouldn't explain why it only seems to happen on my laptop.

from rubocop.

Earlopain avatar Earlopain commented on June 12, 2024

It does say this:

However, the autoload does not seem to be triggering under some situations, such as when loading our own Rakefile. But that also does not happen always, but only when you have two different versions of psych installed in your system.

Which I guess could be a difference between your two machines. I installed a different psych version and didn't reproduce though

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

Yep, I'm only showing psych 5.01 on both systems.

from rubocop.

djberg96 avatar djberg96 commented on June 12, 2024

@Earlopain Yep, that seems to have fixed it, thanks!

Bundler 2.5.11 for anyone reading this.

from rubocop.

Earlopain avatar Earlopain commented on June 12, 2024

Nice!

from rubocop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.