🤖
Ruby 3.x をインストールするとエラーする
事象
rbenv install 3.3.5
を実行すると下記エラーが発生する。
ruby-build: using openssl@3 from homebrew
==> Downloading ruby-3.3.5.tar.gz...
-> curl -q -fL -o ruby-3.3.5.tar.gz https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21.1M 100 21.1M 0 0 7060k 0 0:00:03 0:00:03 --:--:-- 7062k
==> Installing ruby-3.3.5...
-> ./configure "--prefix=$HOME/.anyenv/envs/rbenv/versions/3.3.5" --with-openssl-dir=/opt/homebrew/opt/openssl@3 --enable-shared --with-ext=openssl,psych,+
-> make -j 8
*** Following extensions are not compiled:
psych:
Could not be configured. It will not be installed.
Check /var/folders/_1/ps6nmj416hv2v5nzyw_8hn640000gp/T/ruby-build.20240917071435.81730.vw09Ao/ruby-3.3.5/ext/psych/mkmf.log for more details.
BUILD FAILED (macOS 14.6.1 on arm64 using ruby-build 20240903-5-g10eb379a)
You can inspect the build directory at /var/folders/_1/ps6nmj416hv2v5nzyw_8hn640000gp/T/ruby-build.20240917071435.81730.vw09Ao
失敗した原因は、psychというライブラリのコンパイルに問題が発生したことが原因らしい。
psychは、Rubyの標準YAMLパーサで、Rubyインストール時に自動的にビルドされるライブラリ。
解決策
ライブラリをインストールする。
Macの場合
brew install libyaml
Ubuntuの場合
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev
解決後に再インストール
anyenv install rbenv
rbenv install 3.3.5
rbenv global 3.3.5
Discussion