Homebrew のインストール先は、デフォルトでは /usr/local
になっています。
インストール先を /opt/homebrew
にするには、以下のようにします。
Homebrew 本体のインストール
まず、あらかじめ /opt/homebrew
ディレクトリを作成しておきます。
cd /opt
sudo mkdir homebrew
sudo chown ${USER}:staff homebrew
通常のインストールスクリプトを実行する代わりに、以下を実行します。このコマンドは、Homebrew ドキュメントの Alternative Installs に書かれているものです。
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
インストールそのものはこれだけです。あとは実行パスの設定さえしてしまえば brew
コマンドが使えます。
実行パスの設定
/usr/local/bin
と違ってデフォルトで実行パスが通っていないので、以下のどれかで設定します。
-
/etc/paths
に/opt/homebrew/bin
を追加。 -
/etc/paths.d/homebrew
というファイルを作って/opt/homebrew/bin
と記述。(ただし、/etc/paths.d/*
は/etc/paths
よりも後にパスが追加される点に注意) -
~/.zshrc
や~/.bashrc
でPATH
環境変数を設定。
インストール先を取得するには
brew --prefix
がインストール先を返してくれます。
キャッシュパスの設定
キャッシュの参照先が /usr/local
や /Library/Caches
になってしまうようなので、パスを変更します。
~/.zshrc
や ~/.bashrc
で以下を設定します。
export HOMEBREW_CACHE=/opt/homebrew/cache
この内容は、コメントでご指摘いただいたものです。ありがとうございます。
補足:なぜインストール先を変更するのか
Homebrew は /usr/local
にインストールすることを推奨しています。
しかし、/usr/local
はそもそもホスト管理者に与えられた場所で、自前でビルドしたものやローカルで用意したツールなどを置く場所です。パッケージマネージャに入ってきてほしい場所ではありません。
/usr/local
を本来の意味で使いたいため、Homebrew は /opt
にインストールすることにしました。
補足:インストール先を変更するデメリット
Homebrew は brew install
時にビルド済みバイナリがあるものはバイナリをインストールしてくれるようになっています。
しかし、インストール先を変更していると、多くの場合にビルド済みバイナリがそのままでは使えず、ソースからインストールすることになります。このため、brew install
の動作が遅くなります。