MacをM1チップ搭載に変えてからhomebrewを使う必要があったのでまずはバージョンを確認しようと思ったらhomebrewエラーの嵐でした。
全く意味など理解していませんので、あとから痛い目に合うのかもしれませんが。
同じ症状の方がいたらと思い解決までの備忘録を残します。
バージョンを確認したらまずエラー。(コピペする際は、$はコピー不要でターミナルへ貼り付けください。)
$ brew -v
結果:
Traceback (most recent call last):
11: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>’
10: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative’
9: from /usr/local/Homebrew/Library/Homebrew/global.rb:37:in `<top (required)>’
8: from /usr/local/Homebrew/Library/Homebrew/vendor/portable
ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require’
7: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require’
6: from /usr/local/Homebrew/Library/Homebrew/os.rb:3:in `<top (required)>’
5: from /usr/local/Homebrew/Library/Homebrew/os.rb:21:in `<module:OS>’
4: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:58:in `prerelease?’
3: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `version’
2: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `new’
1: from /usr/local/Homebrew/Library/Homebrew/os/mac/version.rb:26:in `initialize’
/usr/local/Homebrew/Library/Homebrew/version.rb:368:in `initialize’: Version value must be a string; got a NilClass () (TypeError)
ググるとアップデートしたら治ると書かれていた様な気がして以下を実施。
$ brew upgrade
結果:
Updating Homebrew…
Error: No Homebrew ruby 2.6.3_2 available for arm64 processors!
Error: Failed to upgrade Homebrew Portable Ruby!
Error: No Homebrew ruby 2.6.3_2 available for arm64 processors!
Error: Failed to upgrade Homebrew Portable Ruby!
なんかエラーじゃん。こっちも試す。
$ brew update-reset
結果:
Error: No Homebrew ruby 2.6.3_2 available for arm64 processors!
Error: Failed to upgrade Homebrew Portable Ruby!
とにかくrubyをアップデートして欲しいみたいなので以下を実行。
$ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
結果抜粋:
==> Next steps:
– Run these two commands in your terminal to add Homebrew to your PATH:
echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”‘ >> /Users/xxx/.bash_profile
eval “$(/opt/homebrew/bin/brew shellenv)”
– Run `brew help` to get started
2行を実行してと書かれているので実行。
(パスがPCによって違うので同じ症状の場合は自環境で出てるパスをコピペして実行してください。)
$ echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”‘ >> /Users/xxx/.bash_profile
$ eval “$(/opt/homebrew/bin/brew shellenv)”
実行後バージョンを確認。
$ brew – v
結果:
Unknown command: –
なんだか詰んだ感じがする。他のコマンドが効くか確認。
$ which brew
結果:
/opt/homebrew/bin/brew
これは効くのか。Homebrewのパスは通ってはいるのかな。
わからないのでHomebrewをアンインストールして再インストールを試す。
$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”
$ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
再度バージョンを確認。
$ brew – v
結果:
Unknown command: –
結果変わらず。ググってもわからない。もう一度アップデートを試す。
$ brew update
結果:
Already up-to-date.
最新ではあるのかな。
別のバージョンの確認方法を見つけたので確認。
$ brew –version
結果:
Homebrew 3.2.15
でたバージョン。
最初からこれ使えばよかったのか?という疑問が残りますがとりあえずエラーが出なくなったのでここでおわります。