WebDesigner's Memorandumウェブデザイナーの備忘録

M1 MacのHomebrewでのインストール時に「Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!」エラーが出る場合の解決法

M1 MacのHomebrewでのインストール時に「Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!」エラーが出る場合の解決法

M1 MacのHomebrewでインストールしようとしたときに、下記のエラーが表示されました。

Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!

To rerun under ARM use:
      arch -arm64 brew install …

To install under x86_64, install Homebrew into /usr/local.

翻訳すると下記の通りです。

エラー:ARMデフォルトプレフィックスが「/opt/homebrew」のものはRosetta 2を使っている状態ではインストールできません

ARMで再実行する方法:
      「arch -arm64 brew install …」

x86_64でインストールしたいならHomebrewを「/usr/local」にインストールしてください。

Apple Silicon(ARM)に対応したARM版Homebrewと、Intel(x86_64)に対応したIntel版Homebrewがあり、Rosetta 2を使っている状態だとARM版Homebrewでエラーが出るようです。

Node.jsの古いバージョンをインストールするために、いろいろ試した過程でターミナルをRosetta 2で起動したことがあったのでそれが原因のようです。

下記手順で確認していきます。

1. Rosetta 2でターミナルを起動していないか確認

Finderで「ターミナル.app(自分の場合はiTerm2を使用しているのでiTerm2)」を選択して右クリックして「情報を見る(command + I)」で情報パネルを表示します。

情報パネルが表示されるので「Rosettaを使用して開く」にチェックが入っていないか確認します。

「Rosettaを使用して開く」にチェックが入っていないことを確認

自分の場合はこれが原因だったので、ターミナルを再起動して改めてコマンドを実行するとインストールできるようになっていました。

2. arch -arm64をコマンドの先頭につける

「arch -arm64」を先頭につけてコマンドを実行しても、問題なくインストールできるようです。

arch -arm64 brew install ○○

3. x86_64でHomebrewをインストールし直す

エラーメッセージ最終行に書かれている通り、x86_64で使いたい場合はHomebrewを「/usr/local」にインストールする必要があります。

「arch -x86_64」を先頭につけた状態でHomebrew公式サイトのインストールコマンドを実行します。
念のためサンプルとして下記コマンドを載せておきますが、変わっている可能性もあるので公式サイトから確認して実行するようにしましょう。

arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね