OpenSSL 3.0しか使えない!
Ubuntu 22.04は、OpenSSL 3.0が標準で、ruby 2.7.6のビルドに必要なOpenSSL 1.1が使えないので、普通にrbenv install 2.7.6
としてもビルドに失敗します。
こちらを参考に、OpenSSL 1.1を自分でビルドして、それを使うように指示します。
なお、ruby 3.1はOpenSSL 3.0でOKです。
rbenvを入れる
省略。ここは公式みて!
GitHub - rbenv/rbenv: Manage your app's Ruby environment
OpenSSL 1.1.1qを入れる
sudo apt install build-essential zlib1g-dev wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz tar xf openssl-1.1.1q.tar.gz cd openssl-1.1.1q/ ./config --prefix=/opt/openssl-1.1.1 --openssldir=/opt/openssl-1.1.1 shared zlib make make test sudo make install sudo rmdir /opt/openssl-1.1.1/certs sudo ln -s /etc/ssl/certs /opt/openssl-1.1.1/certs
rbenvでインストール
RUBY_CONFIGURE_OPTS=--with-openssl-dir=/opt/openssl-1.1.1 rbenv install 2.7.6
rubyのOpenSSLのバージョンを確認
ruby -ropenssl -e "p OpenSSL::OPENSSL_VERSION"
ここでは、こうなる。
"OpenSSL 1.1.1q 21 Jun 2022"
お疲れさまでした。