🔨
【Ruby】 rbenv 3.0.1 のインストールで"BUILD FAILED"した際の解決方法
はじめに
こんにちは、Takeです。都内の自社開発企業でエンジニアとして働いています。
今回はRuby 3.0.1のインストール時に発生するエラーとその解決方法について解説します。
エラー内容
Ruby 3.0.1をインストールしようとした際に、以下のエラーが発生しました。
$ rbenv install 3.0.1
ruby-build: using openssl@1.1 from homebrew
==> Downloading ruby-3.0.1.tar.gz...
-> curl -q -fL -o ruby-3.0.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 18.7M 100 18.7M 0 0 1464k 0 0:00:13 0:00:13 --:--:-- 1513k
==> Installing ruby-3.0.1...
WARNING: ruby-3.0.1 is nearing its end of life.
It only receives critical security updates, no bug fixes.
ruby-build: using readline from homebrew
ruby-build: using libyaml from homebrew
-> ./configure "--prefix=$HOME/.rbenv/versions/3.0.1" --with-openssl-dir=/opt/homebrew/opt/openssl@1.1 --enable-shared --with-readline-dir=/opt/homebrew/opt/readline --with-libyaml-dir=/opt/homebrew/opt/libyaml --with-ext=openssl,psych,+
BUILD FAILED (macOS 14.5 on arm64 using ruby-build 20240221)
You can inspect the build directory at /var/folders/.../ruby-build.20240528114307.33693.Pmretj
See the full build log at /var/folders/.../ruby-build.20240528114307.33693.log
このエラーは、Ruby 3.0.1のインストール中に発生したもので、特にopenssl@1.1やreadline、libyamlといった依存関係の設定がうまくいっていなさそうです。
具体的には、./configure
スクリプトが正しく実行できず、BUILD FAILEDと表示されています。
解決方法
以下の手順に従って問題を解決しました。
1. 必要なライブラリのインストール
brew install openssl@1.1 readline libyaml
OpenSSL、libyaml、readlineをインストールします。
2. 環境変数の設定
nano ~/.zshrc
zshrcを開きます
# OpenSSL (version 1.1)
export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"
# Add LDFLAGS, CPPFLAGS, and PKG_CONFIG_PATH for OpenSSL, libyaml, and readline
export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/readline/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/readline/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig:/opt/homebrew/opt/libyaml/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig"
~/.zshrc
ファイルに上記の環境変数を追加します。
~/.zshrc
の再読み込み
3.source ~/.zshrc
変更を反映するために、~/.zshrc
を再読み込みします。
4.Ruby 3.0.1のインストール
rbenv install 3.0.1
再度、Ruby 3.0.1をインストールします。
$ rbenv install 3.0.1
==> Downloading ruby-3.0.1.tar.gz...
-> curl -q -fL -o ruby-3.0.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 18.7M 100 18.7M 0 0 2123k 0 0:00:09 0:00:09 --:--:-- 1865k
==> Installing ruby-3.0.1...
WARNING: ruby-3.0.1 is nearing its end of life.
It only receives critical security updates, no bug fixes.
ruby-build: using readline from homebrew
ruby-build: using libyaml from homebrew
-> ./configure "--prefix=$HOME/.rbenv/versions/3.0.1" --enable-shared --with-readline-dir=/opt/homebrew/opt/readline --with-libyaml-dir=/opt/homebrew/opt/libyaml --with-ext=openssl,psych,+ --with-openssl-dir=/opt/homebrew/opt/openssl@1.1
-> make -j 11
-> make install
==> Installed ruby-3.0.1 to /Users/owner/.rbenv/versions/3.0.1
インストール成功🙌
参考
こちらの記事が大変参考になりました!
X-Codeのインストールがまだの方はこちら👇
最後に
ここまで読んでいただきありがとうございました!
今回の記事が良かったと思ったらぜひ「いいね」を押していただけると嬉しいです 🎉
noteでも記事を執筆していますので、ぜひチェックしてみてください。
他にもこのようなことについて記載しているのでお読みいただければ幸いです。
最後までお読みいただき、誠にありがとうございました!
Discussion