rbenv install で < 2.4 の古いバージョンをインストールしようとすると OpenSSL でエラーになる件

今どきRuby 2.3をインストールしなければならなかった際に、 つまづいたので、メモしておきます。

環境

rbenv / ruby-build / openssl@1.1 は、Homebrewでインストール済。

状況

Ruby 2.7.0と2.6.2を既にインストール済のmacに、Ruby 2.3.5をインストールした際にエラーとなった。

% rbenv install 2.3.5
The Ruby openssl extension was not compiled.
ERROR: Ruby install aborted due to missing extensions

OpenSSL関連でエラーとなっている模様。

解決法

rbenv の issues に挙がっていた。

Cannot install Ruby versions < 2.4 because of openssl@1.1 dependency #1353

openssl@1.1ではビルドできないようだ。openssl@1.0でビルドする必要がある。

openssl@1.0をインストールして、環境変数 RUBY_CONFIGURE_OPTS で OpenSSL のディレクトリを --with-openssl-dir オプションで指定する。

% brew install rbenv/tap/openssl@1.0
% RUBY_CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl@1.0`" rbenv install 2.3.5

comments powered by Disqus