Ubuntu22.04ではRuby3.1未満はビルドできない
まとめ
Ubuntu 22.04 Jammy からは OpenSSL 3.x が標準で使用されるようになった もし OpenSSL 3.x が入っている状態で Ruby をビルドしたならば HTTPS 通信などができなくなっているはず
code:sh
# gem install bundler
ERROR: While executing gem ... (Gem::Exception)
OpenSSL is not available. Install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources
Ubuntu22.04でOpenSSL1.1をインストールするには?
OpenSSL 1.1をビルドすることは聞くところによると難しいとされている
一方で Ubuntu 21 Impish 向けにビルドされたバイナリは実行可能であるようだ インストールにあたっては、Ubuntu 22.04 に含まれる OpenSSL 3.x をダウングレードすることになる
そのため関連するパッケージの再ビルドが場合によっては必要になることに注意
Static Link されていればそのままで動いたりすることもあるが、基本的には再ビルドが必要
code:sh
# パッケージを入手
# インストールする
sudo -s
dpkg -i libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
dpkg -i libssl-dev_1.1.1f-1ubuntu2.16_amd64.deb
dpkg -i openssl_1.1.1f-1ubuntu2.16_amd64.deb
# openssl version
OpenSSL 1.1.1f 31 Mar 2020
Ruby2.7〜3.2までのEOLは?
Ruby 2.7: 2023-03-31 まで
Ruby 3.0: 2024-03-31 まで
Ruby 3.1: 2025-03-31 まで
Ruby 3.2: 2026-03-31 まで
https://gyazo.com/eff22fe386462c5005c8d8284ceff877