Intel MacからM2 Mac変更時のHomebrew

Intel MacからM2 Mac変更時の初期環境構築時にHomebrewの設定をしたときのメモ

やりたいこと

Intel用の不要なバイナリを削除して、Homebrewを入れ直す

前提

Timemachineを使って、Intel MacからM2 Macへ全データの移行済み

行った作業

  1. HomebrewのIntel用バイナリを削除

    1. Rosettaを使用して、Terminalを開く
    2. uname -mコマンドで、x86_64であることを確認する
    3. 下記コマンドを実行し、Homebrewを削除
      • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
    4. 権限不足で削除できなかったディレクトリを削除
      • texliveを削除。sudo rm -rf /usr/local/texlive
      • /usr/local/bin以下のリンクが切れているコマンドを削除
  2. HomebrewのAppleSilicon用のバイナリをインストール

    1. Rosettaで開く」のチェックを外し、Terminalを開く
    2. uname -mコマンドで、arm64であることを確認する
    3. 下記コマンドを実行し、Homebrewをインストールする
      • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

説明

1. HomebrewのIntel用バイナリを削除

homebrewの削除コマンドを単にTerminalで叩いても、Apple Silicon用の /opt/homebrew を見に行ってしまうので、Intel用としてコマンドを実行する必要がある。そのために、TerminalをRosettaで開く。

Homebrew削除時には以下のログが出力された。一部権限不足で削除ができていない

/Users/username/Library/Caches/Homebrew/
/usr/local/Caskroom/
/usr/local/Cellar/
/usr/local/bin/brew -> /usr/local/bin/brew
Are you sure you want to uninstall Homebrew? This will remove your installed packages! [y/N] y
==> Removing Homebrew installation...
Warning: Failed to delete /usr/local/Caskroom
rm: /usr/local/Caskroom: Permission denied
Warning: Failed to delete /usr/local/Cellar
rm: /usr/local/Cellar: Permission denied
==> Removing empty directories...
Password:
==> /usr/bin/sudo /usr/bin/find /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/var /usr/local/Caskroom /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks -name .DS_Store -delete
==> /usr/bin/sudo /usr/bin/find /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/var /usr/local/Caskroom /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks -depth -type d -empty -exec rmdir {} ;
==> Homebrew uninstalled!
The following possible Homebrew files were not deleted:
/usr/local/.com.apple.installer.keep
/usr/local/Frameworks/
/usr/local/Homebrew/
/usr/local/bin/
/usr/local/etc/
/usr/local/include/
/usr/local/lib/
/usr/local/opt/
/usr/local/sbin/
/usr/local/share/
/usr/local/texlive/
/usr/local/var/
You may wish to remove them yourself.

参考

m1 - Apple Silicon: port all Homebrew packages under /usr/local/opt/ to /opt/homebrew - Ask Different

Installation — Homebrew Documentation

GitHub - Homebrew/install: 📥 Homebrew (un)installer