自分の場合は、以下のような感じでRubyのバージョンにハマることが多い
- Macが古いバージョンを見てしまっている
- 削除してRubyの最新バージョンをインストールしようとするが、なぜか古いバージョンしか表示されない
- Homebrew自体の最新化から始めるが、さらにエラーが出てハマる
その場合は、以下の手順で解決していく。
Agenda
1. Rubyの最新版バージョン確認
$ rbenv install -l
1-1. もし、前項でRubyのバージョンが古いものしか表示されない場合
$ brew upgrade ruby-build
【コメント】推測ですが、Macを古いものから新しいものに入れ替えたりすると発生するかもです。移行アシスタントでスムーズに新Macに移行したあとも、Homebrewでひととおり最新化することをおすすめします。
1-2. もし、前項でエラーが表示された場合
以下のように「Please reinstall xxx」と表示されている場合は、$ brew reinstall xxx
を実行する。
==> Upgrading ruby-build
Error: An exception occurred within a child process:
RuntimeError: /usr/local/opt/autoconf not present or broken
Please reinstall autoconf. Sorry :(
reinstallでさらに、以下のように「already installed」と表示されている場合は、 $ brew uninstall
を実行してから $ brew install
を実行する。
2. Rubyの古いバージョンを削除する
$ rbenv uninstall [バージョン指定]
(例)
$ rbenv uninstall 2.1.1
system
* 2.4.1 (set by /Users/watashi/.ruby-version)
2.6.3
*がついている箇所がデフォルト利用として指定されている。上記の例だと古いバージョンが指定されている。
3. インストールされているRubyバージョンを確認する
$ rbenv versions
4. Rubyをバージョン指定していインストール
$ rbenv install -v [バージョン指定]
(例)$ rbenv install -v 2.6.3
5. Mac全体で使うRubyバージョンを指定する
$ rbenv global [バージョン指定]
(例)$ rbenv global 2.6.3
コメント
基本的にコマンドライン実行後に表示されるエラーメッセージで調べるか、エラーメッセージとともに提示される対応策を実行するだけで、いずれ解決できる。解決不能に陥ったことはいまのところない。