HomebrewをM1Macに移行する
最近メインPCをM1 Macに移行しました。移行アシスタントで移行しました。
その関係で、M1 Macで正しく動かせないものなどがあります。
Homebrewもその一つでした。
そのまま実行すると次のようなエラーになります。
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
したがって次のコマンドを実行します。
$ brew bundle dump
このコマンドは現在Homebrewで管理してるパッケージがまとまったBrewfileが生成されます。
その後、Homebrewをインストールスクリプトで入れ直します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
入れ直したら、pathを設定します。これはインストールスクリプトのアウトプットにあるのでそれをそのまま使ってください。次のような感じです。
- Run these two commands in your terminal to add Homebrew to your PATH: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/YOUR_NAME/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
その後、Brewfileを指定してbundle installしてください
$ brew bundle install --file YOUR_BREWFILE_PATH
これで現在はHomebrewが2つ入っていることになります。
古いHomebrewを削除します。
古い方は /usr/local
新しい方は /opt/homebrew
に設置されてますが、適宜自身の環境で読み替えてください。
アンインストールスクリプトがあるので、それを実行します。
注意する点は、そのまま実行すると先ほどインストールしたHomebrewがアンインストールされるので、path引数に古い方のHomebrewのpathを指定します。
また、curlで読み込みつつ引数を渡すために --
を間に引数として渡します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" -- --path=/usr/local
最後に
$ brew doctor
を実行して、うまく結びついていないものなどがあれば適宜出力に基づいて修正してください。
以上です。
参考
The Missing Package Manager for macOS (or Linux) — Homebrew
homebrew - Migrate home-brew back from M1 to Intel - Ask Different