0
0

More than 1 year has passed since last update.

Mac で binutils をインストールしている状態で rbenv 経由で Ruby をインストールする際のエラー回避

Last updated at Posted at 2022-12-30

概要

を見た後に行った回避方法について記載しています。

環境

  • macOS Monterey 12.5 / Intel プロセッサ
  • rbenv 1.2.0
  • zsh 5.8.1 (x86_64-apple-darwin21.3.0)
  • binutils 2.37
  • インストールしようとした Ruby のバージョン : 2.6.9

個人の経緯

rbenv で Ruby のインストールに失敗して、失敗ログを確認したら以下の記事と同様のエラーログということがわかりました。

rbenv がビルドの際に使う Mac のコマンドを PATH 的に binutils のものを優先してしまうことでエラーが発生するようです。

binutils 自体は使うためアンインストールしたり、PATH から外したりはしたくないです。
次のように rbenv 実行時にのみ PATH を変更する(=/usr/local/opt/binutils/bin を削除する)ように回避することにしました。

回避方法: rbenv 実行時にのみ PATH を変更する

PATH から sed を使って /usr/local/opt/binutils/bin を削除し、rbenv を実行しました。

PATH=$(echo $PATH | sed -e 's|/usr/local/opt/binutils/bin:||') rbenv install 2.6.9

これで Ruby をインストールできました。

補足

コマンド前に環境変数の定義をするとその行だけ環境変数が有効になります。
セッション中ずっと無視していいなら普通に export してもいいです。

$ env | grep PATH
PATH=/usr/local/opt/binutils/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

$ PATH=$(echo $PATH | sed -e 's|/usr/local/opt/binutils/bin:||') env | grep PATH
PATH=/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

$ export PATH=$(echo $PATH | sed -e 's|/usr/local/opt/binutils/bin:||')
$ env | grep PATH
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0