Ruby で使われる OpenSSL のバージョンを更新する
先日 OpenSSL 1.1.1i がリリースされ、それを反映した ruby-build のバージョンがリリースされていました。
Released ruby-build-v20201210 with OpenSSL-1.1.1i.
— Hiroshi SHIBATA (@hsbt) 2020年12月10日
This version supports M1 chip. So, you can build Ruby 2.7.2 and 3.0.0-preview with `arm64` arch. https://t.co/IRTAVaG0Wk
その際にローカルにインストールしている Ruby で使われる OpenSSL のバージョンを最新に更新したので、その方法を書きます。これがベストかわかりませんが自分はこうしたという方法です。
試した環境
MacOS 10.15.7
Ruby は ruby-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 を再インストールする必要があると思います。