Skip to content

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

@olbrich

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

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