Skip to content

gem update --system does not respect RubyGems constraints on current ruby #7329

@nevans

Description

@nevans

Describe the problem as clearly as you can

gem update --system fails on ruby 2.7, or at least on ruby 2.7 as installed by ruby/setup-ruby. Specifically, this is causing CI failures for gems that still support older rubies.

See e.g: https://github.com/ruby/net-imap/actions/runs/7273131765/job/19916818198?pr=251

Did you try upgrading RubyGems?

This is, in fact, the problem. 😉

Post steps to reproduce the problem

I assume this is happening for other gems supporting older versions of ruby as well. The workflow file is fairly standard.

- name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby }}
        bundler-cache: true
        rubygems: latest

Which command did you run?

/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/gem --version
  3.1.6
  Default RubyGems version is 3.1.6
  Updating RubyGems to latest version
 
/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/gem update --system
  ERROR:  Error installing rubygems-update:
  	There are no versions of rubygems-update (= 3.5.3) compatible with your Ruby & RubyGems
  	rubygems-update requires Ruby version >= 3.0.0. The current ruby version is 2.7.8.[22](https://github.com/ruby/net-imap/actions/runs/7273131765/job/19916818198?pr=251#step:3:27)5.
  ERROR:  While executing gem ... (NoMethodError)
      undefined method `version' for nil:NilClass
  Updating rubygems-update
  Took  14.85 seconds
Error: The process '/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/gem' failed with exit code 1

What were you expecting to happen?

The latest (compatible) version would be installed.

What actually happened?

The command failed.

Misc

Perhaps this is related to #7310? For purposes of passing CI, the simple workaround is to set a version constraint rather than use latest. Still, it would be nice if that were unnecessary. 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions