🤖

Ruby 3.x をインストールするとエラーする

2024/09/17に公開

事象

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