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のパッケージを自在に切り替えられるようになり、開発環境がより柔軟になります。
特に複数バージョン管理をしている方には、覚えておいて損はないコマンドです。


コメント