🐥

Rubyインストール時のBUILD FAILEDの解決策

2024/01/01に公開

なにが起きたん?

WSLのArchLinux環境下でasdfを使ってruby 3.2.2をインストールしたら赤文字でBUILD FAILEDって出た。
出力は以下

asdf install ruby 3.2.2
==> Downloading ruby-3.2.2.tar.gz...
-> curl -q -fL -o ruby-3.2.2.tar.gz https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19.5M  100 19.5M    0     0  5366k      0  0:00:03  0:00:03 --:--:-- 5365k
==> Installing ruby-3.2.2...
-> ./configure "--prefix=$HOME/.asdf/installs/ruby/3.2.2" --enable-shared --with-ext=openssl,psych,+
-> make -j 16
*** Following extensions are not compiled:
psych:
        Could not be configured. It will not be installed.
        Check /tmp/ruby-build.20240101185244.20484.9EOdtY/ruby-3.2.2/ext/psych/mkmf.log for more details.

BUILD FAILED (Arch Linux  on x86_64 using ruby-build 20231225)

You can inspect the build directory at /tmp/ruby-build.20240101185244.20484.9EOdtY
See the full build log at /tmp/ruby-build.20240101185244.20484.log

なんで起きたん?

どうやらpsychという拡張(?)のコンパイルに失敗したらしい。
psychはyamlのパーサらしく,yaml関連の依存パッケージが足りずコンパイルできなかった。

解決策

psychに必要なyaml関係のパッケージを入れる。
ArchLinuxなら

yay -S libyaml

でパッケージが入った。

これでもう一度asdf install ruby 3.2.2を実行するとちゃんとインストールできた。

あとがき

マジで解決策わからなかったけどGPTに聞いたらドンピシャだった。
GPTは偉大。
同じエラーで迷った人に届けば幸いです。

Discussion