rbenv install で < 2.4 の古いバージョンをインストールしようとすると OpenSSL でエラーになる件
今どきRuby 2.3をインストールしなければならなかった際に、 つまづいたので、メモしておきます。
環境
- macOS Catalina 10.15.4
- Homebrew 2.2.11
- rbenv 1.1.2
- ruby-build 20200224
- openssl
@
1.1 (1.1.1d)
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