🚧
macOS Sequoia 15.5上のruby3.4でgem installが失敗する問題
久々の Zenn 投稿です。
Ruby を勉強し始めたら問題に遭遇したため、共有します。
実際に発生した環境
- 端末: MacBook Air 13inch M3 2024
- OS: macOS Sequoia 15.5(表題の通り)
- Ruby: 3.4.5
- Ruby バージョンマネージャ: mise 2025.6.8 macos-arm64 (2025-06-26)
問題
Ruby on Rails をインストールしようとしたところ、下記のエラーが発生しました。
> gem install rails
ERROR: Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org/specs.4.8.gz)
解決策
環境変数RUBY_TCP_NO_FAST_FALLBACK=1
を設定することで解決しました。
> export RUBY_TCP_NO_FAST_FALLBACK=1
> gem install rails
Fetching zeitwerk-2.7.3.gem
Fetching thor-1.4.0.gem
# 中略
Successfully installed nio4r-2.7.4
Successfully installed actioncable-8.0.2
Successfully installed rails-8.0.2
38 gems installed
A new release of RubyGems is available: 3.6.9 → 3.7.1!
Run `gem update --system 3.7.1` to update your installation.
原因
issueを見る限りでは以下のようです。
- Apple Silicon 上の macOS 15.3 で発生
- ただし、類似した環境でも再現しない場合がある
- Ruby3.4 で実装された、Happy Eyeballs Version 2 による接続が原因
-
RUBY_TCP_NO_FAST_FALLBACK=1
で Happy Eyeballs Version 2 を無効化できる - 未だ(2025-08-05 時点)根本的原因は判明していない
-
今後の対応案
この問題に遭遇した場合、根本解決までRUBY_TCP_NO_FAST_FALLBACK=1
を設定したままにすると良さそうです。
↓zshrc に書き込む場合
echo 'export RUBY_TCP_NO_FAST_FALLBACK=1' >> ~/.zshrc
参考文献
Discussion