noellabo's tech blog

@noellaboの技術ブログ

Ubuntu 22.04にRuby 2.7.6をインストールする

OpenSSL 3.0しか使えない!

Ubuntu 22.04は、OpenSSL 3.0が標準で、ruby 2.7.6のビルドに必要なOpenSSL 1.1が使えないので、普通にrbenv install 2.7.6としてもビルドに失敗します。

こちらを参考に、OpenSSL 1.1を自分でビルドして、それを使うように指示します。

github.com

なお、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"

お疲れさまでした。