Ruby で使われる OpenSSL のバージョンを更新する

先日 OpenSSL 1.1.1i がリリースされ、それを反映した ruby-build のバージョンがリリースされていました。

その際にローカルにインストールしている Ruby で使われる OpenSSL のバージョンを最新に更新したので、その方法を書きます。これがベストかわかりませんが自分はこうしたという方法です。

試した環境

MacOS 10.15.7

Rubyruby-build + rbenv で管理しています。 今回は Ruby 2.7.2 を使います。

方法

方法は単純でただ Ruby を再インストールしただけです。

まず最初の状態です。以下のようにすることで OpenSSL 1.1.1h が使われてることが確認できます。

$ ruby -r openssl -e 'p OpenSSL::OPENSSL_LIBRARY_VERSION'
"OpenSSL 1.1.1h  22 Sep 2020"

次に最新の ruby-build を取得、さらに更新したい Ruby をアンインストールして再度インストールします。

$ brew upgrade ruby-build
$ rbenv uninstall 2.7.2
$ rbenv install 2.7.2

再度確認すると OpenSSL 1.1.1i (2020/12/10 時点で最新バージョン)が使われています!

$ ruby -r openssl -e 'p OpenSSL::OPENSSL_LIBRARY_VERSION'
"OpenSSL 1.1.1i  8 Dec 2020"

他の Ruby バージョンも更新するには、また同じように Ruby を再インストールする必要があると思います。

参考

blog.manabusakai.com

masutaka.net