-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Labels
Description
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: latestWhich 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. 🙂