Macで開発環境を構築する際、欠かせないツールのひとつがHomebrew(ホームブルー)です。
パッケージ管理ツールとして有名なHomebrewには、ソフトウェアをインストール・アンインストールするだけでなく、「link」や「unlink」といったコマンドも存在します。
中でもbrew link
コマンドは、インストールしたツールを使えるように「有効化」する重要なコマンド。
ですが、「そもそも何のためにあるの?」「使い方がわからない」「エラーが出て困っている」など、初心者にはわかりにくいポイントが多いです。
この記事では、brew link
の基本から使い方、トラブル時の対処法までを丁寧に解説します。
brew linkコマンドとは?

brew link
は、Homebrewでインストールしたパッケージをコマンドライン(ターミナル)上で使えるようにするためのコマンドです。
内部的には、Homebrewが管理しているCellar
ディレクトリ内の実行ファイルへのシンボリックリンク(ショートカット)を、/usr/local/bin
や/opt/homebrew/bin
に作成する役割を持ちます。
なぜ「リンク」が必要なのか?
Homebrewはインストールしたファイルを「Cellar」という専用フォルダに保存しています。
しかし、この状態ではターミナルでそのソフトを直接使うことができません。
たとえば、brew install node
でNode.jsをインストールしても、リンクが作成されていなければnode -v
を実行しても「コマンドが見つかりません」となります。
そこでbrew link
を使うことで、以下のように使えるようになります:
brew link node
基本的な使い方

パッケージをリンクする
brew link パッケージ名
例:
brew link python@3.11
上書きリンク(すでに同名のバイナリがある場合)
brew link --overwrite パッケージ名
強制リンク(通常リンクできない場合)
brew link --force パッケージ名
よくあるエラーと対処法

エラー例1:already exists
Error: Could not symlink bin/○○
Target /usr/local/bin/○○ already exists.
対処法:
リンク先にすでに同じ名前のファイルがある場合です。次のいずれかを試しましょう:
brew link --overwrite ○○
または、
rm /usr/local/bin/○○
brew link ○○
unlinkとの違い

brew unlink
はbrew link
の逆です。
つまり、リンクを解除して、ターミナルから一時的に使用できなくします。
brew unlink node
これにより、複数バージョンの切り替えがスムーズにできます。
応用:バージョンの切り替えにも使える!
Homebrewでは、複数バージョンのパッケージ(例:python@3.10
, python@3.11
)をインストールできます。このとき、どのバージョンを有効化するかはbrew link
とbrew unlink
で切り替えられます。
例:Pythonのバージョンを切り替える
brew unlink python@3.10
brew link python@3.11
このようにして、目的に応じてバージョンを素早く切り替えることができます。
まとめ
コマンド | 役割 |
---|---|
brew link | コマンドラインで使えるようにする |
brew unlink | 一時的に無効化する |
--force / --overwrite | 衝突時の回避手段 |
brew link
コマンドを正しく使えば、Homebrewのパッケージを自在に切り替えられるようになり、開発環境がより柔軟になります。
特に複数バージョン管理をしている方には、覚えておいて損はないコマンドです。
コメント