プログラミング学習

【解決済み】Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!のエラーを解消する方法

Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!のエラーを解消する方法

この記事を読んでいる人はおそらく、brewコマンドを実行したら、下記のようなエラーが出た人だと思います。

Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
Please create a new installation in /opt/homebrew using one of the
"Alternative Installs" from:
  https://docs.brew.sh/Installation
You can migrate your previously installed formula list with:
  brew bundle dump

 

僕も上記のエラーが発生しましたが、この解決方法がわかったので、まだ解決していない人向けに手順を丁寧に解説していきます。

ちなみにRossetaを開いて、、、とかそんなことをする必要はありません。

エラーの原因はM1 Macだから。

まずエラーを日本語訳してみましょう。

エラー:Intelのデフォルトプレフィックス(/ usr / local)のARMプロセッサのHomebrewにインストールできません!
いずれかを使用して/opt/homebrewに新しいインストールを作成してください。
「代替インストール」:https://docs.brew.sh/Installation

以前にインストールした数式リストは、次のコマンドで移行できます。
brew bundle dump

要するに、『Intel版MacではHomebrewのインストール先は/usr/localだったけど、M1版Macはopt/homebrewにインストールしてね! 方法はhttps://docs.brew.sh/Installation このURLに書いてるから参考にしてね!』って感じです。

【M1版Mac】Error: Cannot install in Homebrew on ARM processorを解決する手順

それでは原因もわかったことなので、解決していきましょう。

optフォルダへ移動(ない人は作成)

エラー文に『Please create a new installation in /opt/homebrew』とありましたので、まずは言われた通り/opt/homebrewにHomebrewをインストールしていきます。

そのために、まずはターミナルの作業ディレクトリを /opt に変更します。

cd /opt

 

もしoptフォルダが存在しなかった場合は、下記コマンドで作成してくださ。

//作業ディレクトリ変更
cd /

//フォルダ作成
mkdir opt

 

念のために、 /opt フォルダの直下のファイルを確認しておきます。

ls

//実行結果
X11

僕の場合はX11と表示されましたが、何もないなら何もないでOKです。

/opt/homebrewにHomebrewをインストール

次にエラー文にあった「https://docs.brew.sh/Installation」からHomebrewの公式サイトにアクセスしてください。

すると、

mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

上記のコードがサイトの下の方にあるはずなので、そちらをコピーしてください。

*コードが変更されている場合があるので、必ず公式サイトからインストールしてください。

コードをコピーできたら、作業ディレクトリが /opt であることを確認して コマンドを実行してください。

mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

//結果
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   128  100   128    0     0    316      0 --:--:-- --:--:-- --:--:--   316
100 2386k  100 2386k    0     0  1536k      0  0:00:01  0:00:01 --:--:-- 2126k

 

これで、optフォルダ直下にhomebrewフォルダが作成され、その直下に複数のファイルが作成されているはずなので、確認してみましょう。

ls /opt

//結果
X11 homebrew

homebrewフォルダはちゃんとできてますね。

中身も確認しましょう。

ls /opt/homebrew

//結果
CHANGELOG.md LICENSE.txt SECURITY.md docs
CONTRIBUTING.md Library bin manpages
Dockerfile README.md completions

ちゃんとインストールできてますね。

パスを追記

よし、無事 /opt/homebrew にインストールできた!これで完了! とは、まだいきません。

僕もこれで終わりだと思っていたのですが、このままbrewコマンドを実行すると、同じエラーが発生します。

理由としては、単純でパスの優先度の違い。です。

難しい話は割愛しますが、要するに brew と入力すると今インストールした「/opt/homebrew」の方ではなく、以前の「usr/local/homebrew」の方が実行されているわけです。

そのため、新たにパスを追記して、優先度を変更します。

echo $SHELL

 

上記を実行して、
/bin/zsh とでたら ~/.zshrc ファイル
/bin/bash とでたら ~/.bash_profile ファイル
を編集していきます。

*下記から自分に対応しているコマンドを実行してください。

編集するためにviコマンドを使います。

vi ~/.zshrc

または

vi ~/.bash_profile

 

ここに下記一文を追加して、保存してviエディタを終了してください。

export PATH="/opt/homebrew/bin:$PATH"

Twitterより『この記事通りやったけど、エラーが発生した』とのDMを頂きましたが、調べてみるとその方の場合はviエディタに上記のパスを正しく保存することができていませんでした。

viエディタは『aキーで編集モード』・『escキーで編集モード終了』・『:wq で保存・終了』です。
分からない方は一度「viエディタ 使い方」などで検索して、調べてから編集することをお勧めします。

下記コマンドで更新を反映させて、

source ~/.zshrc

または

source ~/.bash_profile

 

ターミナルを再起動してください。

これで完了です。

brewコマンドが実行できるようになっているはず。

 

もしうまくできないよーという方は shiro_life0 より質問してくださいませ。それではまた(*´ω`*)ノ