Skip to content

Bug: qlty install fails to install rubocop when Gemfile contains a 'gemspec' #2610

Description

@olbrich

What happened?

I've been updating a gem to add qlty support. After adding

[[plugin]]
name = "rubocop"
package_file = "Gemfile.qlty"
config_files = [".rubocop.yml", ".rubocop_todo.yml"]

to my qlty.toml file and running qlty install I get this error output..

❯ qlty install
  67% [========================================================================================>                                           ]  00:00:00
 ∟ rubocop@bundled bundle install (Gemfile.qlty) ⢀                                                                                                    (eval at -e:1):26:in `expand_path': no implicit conversion of nil into String (TypeError)
	from (eval at -e:1):26:in `block in <main>'
	from /Users/username/.qlty/cache/tools/ruby/3.3.7-6c2a2652355e/lib/ruby/3.3.0/rubygems/specification.rb:2009:in `initialize'
	from (eval at -e:1):7:in `new'
	from (eval at -e:1):7:in `<main>'
	from -e:1:in `eval'

   ERROR

 > Failed to install rubocop@bundled
 >
 > Caused by:
 >     0: Error installing rubocop@bundled.
 >
 >     1: command ["ruby", "-rrubygems", "-e", "s=eval(STDIN.read);s.dependencies.select!{|d|/^rubocop$|/i=~d.name};puts s.to_ruby"] exited with code 1

Where Gemfile.qlty looks like

gem "rubocop"
gem "rubocop-rake"
gem "rubocop-rspec"

gemspec

Removing the gemspec allows it to work as expected.
Adding a package_filters entry does not help.

What did you expect to happen?

qlty install should run without errors

Can you reproduce the problem?

Yes, consistently

CLI Version

qlty 0.600.0 macos-arm64 (da1f210 2025-12-23)

Relevant log output

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions