Rubyのバージョンを3.4にしたら、gem installに失敗するようになってしまって調べた。

Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org) · Issue #8390 · rubygems/rubygems

Bug #21104: Net::HTTP connections failing in Ruby >= 3.4.0 on macOS with Happy Eyeballs enabled - Ruby - Ruby Issue Tracking System

Bundler: How to troubleshoot RubyGems and Bundler TLS/SSL Issues

Ruby3.4のリリースノートを見ると、SocketライブラリでHappy Eyeball version 2を実装したとあった。Happy Eyeball version 2というRFCが存在することを初めて知った。

Ruby 3.4.0 Released

RFC 8305 - Happy Eyeballs Version 2: Better Connectivity Using Concurrency

リリースノートやGitHub Issueにある通り、環境変数で RUBY_TCP_NO_FAST_FALLBACK=1 とすればこの問題は起きなくなる。

MacOSでのみ起きているようで、私の持つ2台のMacのうちバージョンが新しいほう(Sequoia 15.3.2)でのみ起きている。極めて限定的な環境でのみ起きるようだ。

Ruby Issue Tracking Systemにはちょっと情報提供した。解決するとありがたい。