結論

Homebrew は、macOS・Linux・WSL でコマンドラインツールやアプリを brew install 名前 の1行で入れ、brew upgrade でまとめて更新するパッケージ管理ツールです。インストール先は Apple シリコンの Mac が /opt/homebrew、Linux が /home/linuxbrew/.linuxbrew で、入れたあとに brew shellenv で PATH を通すと使えるようになります。

この記事でわかること

  • Mac へのインストール手順と、Apple シリコン・Intel・Linux のインストール先の違い(Intel Mac は2026年10月29日時点でインストーラーが対象外)
  • install・uninstall・upgrade・update・list・search・info・cleanup・doctor・services・bundle の使い方と早見表
  • command not found: brew・PATH・brew doctor の警告・Cask のエラーの原文と直し方

2026年10月29日更新|Homebrew 7.0.11・公式ドキュメントとインストーラー(install.sh)の原文で確認

brew install の裏で何が起きているかを先に図にします。formula(パッケージの定義)を読み、ビルド済みの bottle があれば展開し、Cellar に置いてから prefix へシンボリックリンクを張ります。

flowchart TD
    A[brew install wget] --> B[formula の定義を取得]
    B --> C{bottle<br>ビルド済みがある?}
    C -->|はい| D[展開する]
    C -->|いいえ| E[ソースからビルド]
    D --> F[Cellar/wget/版 に置く]
    E --> F
    F --> G[prefix/bin へリンク]

よく調べられることの答えを先にまとめます。

知りたいこと 答え 詳しい節
Homebrew とは macOS・Linux・WSL のパッケージ管理ツール。sudo なしで prefix の中だけに入れる Homebrewとは
homebrew mac インストール ターミナルで公式の1行を実行→「Next steps」の PATH 設定を実行 Macにインストールする手順
Apple シリコンと Intel のパス /opt/homebrew と /usr/local。Intel は新規インストールの対象外 インストール先の違い
command not found: brew eval "$(/opt/homebrew/bin/brew shellenv)" を ~/.zprofile に書く PATHの設定
brew install の使い方 brew install wget。GUI アプリは brew install --cask brew installの使い方
update と upgrade の違い update は定義の更新、upgrade は入れたものの更新 brew updateとupgrade
環境をまるごと再現したい brew bundle dump → Brewfile → brew bundle Brewfileとbrew bundle
Homebrew 自体を消したい 公式の uninstall.sh を実行する brew doctorとよくあるエラー

確認環境:この記事を書いた環境は Ubuntu 24.04 で、Homebrew は入っておらず(which brew は何も返さない)、本記事のために新しくインストールもしていません。Mac の操作もこの環境では行えません。そのため、手順・コマンド・出力例・エラー文はすべて Homebrew の公式ドキュメント(docs.brew.sh の Installation・FAQ・Manpage(brew(1))・Homebrew on Linux・Common Issues・Troubleshooting・Taps・Brew Bundle and Brewfile・Formula Cookbook・Support Tiers・Versions・Tips and Tricks・Analytics。内容は同じ原文が置かれている Homebrew/brew リポジトリの docs/ で読み、各ページの last_review_date も確かめました)、brew.sh(日本語ページ)、Homebrew/install リポジトリの README とインストーラー本体 install.sh、Homebrew/brew のソースコード(brew doctor の警告文・エラー文)、Homebrew/homebrew-cask の README・USAGE・error_examples で1つずつ確かめ、公式に載っている出力例だけを載せています。自分で動かして作った出力はありません。版は GitHub の Releases で 7.0.11 を確認しました(確認日 2026年10月29日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Homebrewとは・使い方|Macインストール手順とbrewコマンド一覧」

Homebrewとは(何ができるか・仕組み)

この節では、Homebrew が何をするツールで、どこに何を置くのかが分かります。

Homebrew は、macOS・Linux・WSL で使うコマンドラインツールやアプリケーションをインストールする、オープンソースのパッケージ管理ツールです。 公式サイト brew.sh の日本語ページは「どこでも使えるパッケージマネージャー」と名乗り、prefix(Homebrew が入っている場所)の外にはファイルを置かない、と説明しています。各パッケージは Cellar の中の専用の keg に入り、そこから prefix へシンボリックリンクが張られます。

11行で入れて1行で更新

brew install wget で入り、依存するものも一緒に入る。brew upgrade で入れたものをまとめて最新にできる。

2sudo を使わない

初回のインストールのあと、formula のインストールに sudo は要らない(公式 Installation)。システムの領域を汚さず、消すときも prefix を消すだけ。

3GUI アプリも入る

Cask という仕組みで、Chrome や VS Code のようなアプリ、フォントも brew install --cask で入る。

Homebrew は Mac 専用と思われがちですが、公式ドキュメント「Homebrew on Linux」は、Linux と WSL 2 でも使え、以前は Linuxbrew と呼ばれていた、と説明しています。macOS・Linux・Windows(WSL)を同じパッケージ管理ツールで扱える点が、Linux で使う理由として挙げられています。

apt・pip・npm との役割の違い

ツール 何を管理するか Homebrew との関係
Homebrew OS 全体で使うコマンド・アプリ(git・node・python・wget・Docker Desktop など) ―
apt(Ubuntu) OS の公式パッケージ Linux では併用。配布版に無い・版が前のものを Homebrew で補う(公式の Features)
pip・npm 言語ごとのライブラリ python・node 本体を Homebrew で入れ、ライブラリは pip・npm で入れる
nvm・pyenv・uv 言語の版の切り替え これらのツール自体を Homebrew で入れることが多い

apt の update と upgrade の違いは、関連記事「aptコマンド一覧|updateとupgradeの違い・apt-getとの違い」で扱っています。Homebrew の update と upgrade も同じ考え方です。

HomebrewをMacにインストールする手順

この節では、公式が案内しているインストールの手順と、途中で何を聞かれるのかが分かります。

インストールは、ターミナルに公式サイトの1行を貼り付けて実行するだけです。 brew.sh は、この1行を macOS のターミナル・Linux のシェル・WSL に貼り付けるよう案内しています。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1

ターミナルを開いて1行を貼り付ける

ターミナル.app を開き、上の1行を貼り付けて Enter。公式の脚注によると、この1行は /bin/bash で動く前提で、zsh・fish・tcsh・csh では動かない(貼り付ける側のシェルが zsh でも、先頭の /bin/bash -c が bash を呼ぶので問題ない)。

install.sh

2

パスワードを入れる

インストーラーは「Checking for `sudo` access (which may request your password)...」と出して Mac のログインパスワードを求める。初回のインストールだけ sudo を使い、以後の brew install には要らない(公式 Installation)。

install.sh

3

何をするかの一覧を見て Enter

「This script will install:」に続けて /opt/homebrew/bin/brew などの置き場所と、作るディレクトリの一覧が出る。「Press RETURN/ENTER to continue or any other key to abort:」で Enter を押すと始まる。公式は「何をするかを事前に全部見せ、確認してから始める、注意深いスクリプト」と説明している。

install.sh

4

Command Line Tools が無ければ入る

Xcode の Command Line Tools が無いと「The Xcode Command Line Tools will be installed.」と出て一緒に入る。Apple シリコンでは、bottle と Cask のインストールだけなら Command Line Tools は要らない(公式 Support Tiers)。

install.sh・Support Tiers

5

「Installation successful!」のあと「Next steps」を実行する

終わると「Next steps:」に PATH を通すコマンドが出る。公式 Installation は、この指示に従わないと Homebrew は動かない、と書いている。内容は次の節で説明する。

install.sh・Installation

必要な環境(公式 Installation の macOS requirements)

  • Apple シリコンの CPU。64bit Intel は Tier 3(サポート外の構成)。
  • macOS Sequoia(15)以降。脚注によると、Apple シリコンでは macOS 15〜27 が「best and supported」、11(Big Sur)〜14(Sonoma)は「unsupported but may work」、10.15(Catalina)以前はまったく動かない。
  • ソースからビルドするときは Command Line Tools(xcode-select --install)か Xcode。
  • インストールに bash(/bin/bash)。

Apple シリコン向けには .pkg のインストーラーも GitHub の最新リリースにあり、こちらも /opt/homebrew に入ります(公式 Installation)。自動化で対話なしに入れるときは、先頭に NONINTERACTIVE=1 を付けます(Homebrew/install の README)。

インストールの最後には「Homebrew has enabled anonymous aggregate formulae and cask analytics.」と、匿名の利用統計が有効になったことが表示されます。公式ドキュメント Analytics によると、送るのを止めるには brew analytics off を実行します。

インストール先の違い(Appleシリコン・Intel・Linux)

この節では、環境ごとに Homebrew がどこに入るのかと、Intel Mac の2026年10月時点の扱いが分かります。

インストール先(prefix)は、Apple シリコンの Mac が /opt/homebrew、Intel Mac が /usr/local、Linux・WSL が /home/linuxbrew/.linuxbrew です。 brew.sh の日本語ページと、brew(1) の --prefix の説明がこの3つを挙げています。

環境 prefix(インストール先) brew の本体 PATH の設定
Mac(Apple シリコン) /opt/homebrew /opt/homebrew/bin/brew 要る(既定の PATH に無い)
Mac(Intel) /usr/local /usr/local/bin/brew 多くの場合は既定の PATH にある
Linux・WSL 2 /home/linuxbrew/.linuxbrew prefix の下の bin/brew 要る(~/.bashrc か ~/.zshrc)

公式 FAQ は、Apple シリコンで /opt/homebrew を選んだ理由を「/opt/homebrew(Apple シリコン)と /usr/local(Rosetta 2)のインストールを共存させ、どちらでも bottle を使えるようにするため」と説明しています。自分の環境の prefix は brew --prefix で分かります。

Intel Mac の扱い(2026年10月29日時点)

公式のインストーラー install.sh は、2026年10月29日時点の内容では、Intel Mac で実行すると次のメッセージで止まります(abort の出力で、先頭に「Error:」は付きません)。

Homebrew on macOS is only supported on Apple Silicon processors!

公式ドキュメント Support Tiers には、次のように書かれています。

  • macOS Tahoe 26 が Intel で動く最後の macOS であり、Homebrew は Intel 向けの新しい bottle のビルドを止めた。
  • 2027年9月以降に、Intel の Mac で Homebrew を動かす機能そのものを取り除く予定。
  • 2026年9月時点で、Intel x86_64 の macOS 11〜26 は Tier 3(サポート外)、10.15 以前は Unsupported。

すでに Intel Mac に入っている Homebrew は、/usr/local のまま使い続けられますが、brew doctor が「You are using macOS on Intel x86_64.」で始まる警告を出し、Intel Tahoe では「Existing bottles may still work, but updated formulae may build from source.」(今ある bottle は使えるが、更新された formula はソースからビルドになる)と案内します(Homebrew/brew のソースコード)。それより前の macOS では MacPorts を勧める文言になります。

Linux・WSL に入れるとき

公式「Homebrew on Linux」によると、インストールの1行は Mac と同じで、先に次のビルドツールを入れておきます(Ubuntu・Debian の場合)。

sudo apt-get install build-essential procps curl file git

Tier 1(完全にサポート)の条件は、サポート期間内の Ubuntu、glibc 2.39 以上、既定の prefix、x86_64(SSSE3 対応)か ARM64 です。glibc が 2.13〜2.38 の配布版では Homebrew 自身の glibc が自動で入ります(Tier 2)。WSL 1 では問題が知られており、WSL 2 を勧めています。

PATHの設定:brew shellenvと.zprofile(command not found: brewの直し方)

この節では、インストール後に「zsh: command not found: brew」になる理由と、PATH の正しい通し方が分かります。

Apple シリコンの /opt/homebrew/bin は macOS の既定の PATH に入っていないため、インストール直後は brew が見つかりません。 インストーラーが最後に出す「Next steps:」が、そのための設定です。install.sh の原文では、zsh の Mac では次の3行になります(「ユーザー名」の部分には実際のホームの場所が入ります)。

==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
    echo >> /Users/ユーザー名/.zprofile
    echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/ユーザー名/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv zsh)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

1行目は空行を足すだけ、2行目が設定ファイルへの追記、3行目が今のターミナルへの反映です。書き込む先のファイルは、インストーラーがシェルと OS で次のように決めています。

シェル Mac Linux・WSL
zsh(Mac の既定) ~/.zprofile ~/.zshrc
bash ~/.bash_profile ~/.bashrc
fish ~/.config/fish/config.fish

brew shellenv は、PATH・MANPATH・INFOPATH と HOMEBREW_PREFIX・HOMEBREW_CELLAR・HOMEBREW_REPOSITORY の export 文を出力するコマンドです(brew(1))。eval で囲んでその出力を実行することで PATH が通ります。brew(1) は、シェル名を引数で明示することを勧めており、すでに bin と sbin が PATH の先頭にあるときは何も出力しません。

設定ファイルへの追記

NG> 1つで書く。~/.zprofile が上書きされ、前からあった設定が消える
→
OK>> 2つで追記する。インストーラーの出力をそのまま貼り付ける

インストーラーは、同じ行がすでにあれば追記の案内を出さない(原文で grep している)

command not found: brew の切り分け

  1. 1本体があるか見るls /opt/homebrew/bin/brew(Intel は /usr/local/bin/brew、Linux は /home/linuxbrew/.linuxbrew/bin/brew)。無ければインストールが終わっていない
  2. 2今のターミナルだけ通すeval "$(/opt/homebrew/bin/brew shellenv)" を実行して brew --version。動けば PATH の問題
  3. 3設定ファイルに書くzsh の Mac なら ~/.zprofile。書いたらターミナルを開き直す
  4. 4シェルを確かめるecho $SHELL。bash なら ~/.bash_profile(Mac)、Linux なら ~/.bashrc・~/.zshrc
  5. 5brew doctor で確かめる「Homebrew's "bin" was not found in your PATH.」が出るなら、まだ通っていない

Mac のターミナルを開き直すのは、~/.zprofile がログイン時に読まれるファイルだからです。GUI アプリ(エディターなど)から Homebrew のコマンドが見えないときの対処として、公式 FAQ は sudo launchctl config user path "$(brew --prefix)/bin:${PATH}" を実行して再起動する方法を挙げています(すべてのユーザーに効く点に注意)。PATH の仕組み自体は、関連記事「Linux環境変数PATHの設定方法|exportと.bashrcの使い分け早見表」と関連記事「command not foundの直し方|PATHの確認方法と原因別の対処表」で扱っています。

brewコマンド早見表(install・uninstall・upgrade・update・list)

この節では、日常で使う brew のコマンドが一覧で分かります。

まず覚えるのは install・uninstall・update・upgrade・list・search・info・cleanup・doctor の9つです。 brew(1) の説明を基に、よく使う順に並べました。

コマンド 何をするか(brew(1)) 補足
brew install 名前 formula か cask を入れる 入っていて版が前のものなら upgrade になる
brew install --cask 名前 GUI アプリ・フォントなどの cask を入れる 既定の置き場は /Applications
brew uninstall 名前 消す(remove・rm も同じ) cask は --zap で関連ファイルも消す
brew update Homebrew 本体と formula の定義を最新にする 入れたものは変わらない
brew outdated 新しい版がある入れたものを一覧 upgrade の前に見る
brew upgrade [名前] 入れたものを新しい版にする 名前を省くと全部
brew list 入れた formula と cask の一覧(ls も同じ) --cask・--formula・--versions
brew search 文字 名前の部分一致で探す。/正規表現/ も可 homebrew/core と homebrew/cask をオンラインで探す
brew info 名前 版・依存・入っているか・注意書きを表示(abv も同じ) keg-only の理由と PATH の案内もここ
brew cleanup 前の版とダウンロードの残りを消す -n で消す前に確かめる
brew autoremove 依存としてだけ入って、もう要らない formula を消す --dry-run あり
brew doctor 問題の可能性を点検する(dr も同じ) 問題があれば終了コードが 0 以外
brew services 常駐サービスの起動・停止 launchctl(Mac)・systemctl(Linux)
brew bundle Brewfile の内容を入れる・書き出す 環境の再現に使う
brew tap user/repo 第三者のリポジトリを追加。引数なしで一覧 brew untap で外す
brew pin 名前 upgrade の対象から外す brew unpin で戻す
brew --prefix インストール先を表示 --cellar・--cache・--repository も
brew --version Homebrew の版を表示 brew -v も同じ
1

入れる

brew install git。依存するものも一緒に入る。

GUI は --cask

2

更新する

brew update のあと brew upgrade。順番はこの通り。

週に1度ほど

3

片付ける

brew cleanup。前の版とキャッシュを消してディスクを空ける。

-n で確認

4

困ったら

brew update を2回、次に brew doctor。公式の順番。

警告を全部読む

brew installの使い方(Formula・Cask・バージョン指定)

この節では、brew install の書き方と、入れるものの種類による違いが分かります。

brew install 名前 で formula(コマンドラインのソフト)が入り、brew install --cask 名前 で cask(GUI アプリなど)が入ります。 brew(1) によると、brew install は、入っている formula の版が前のものなら upgrade し、終わったあとに自動で brew cleanup も行います(30日ごとに全体を対象)。

brew install wget            # formula
brew install git node        # 複数を一度に
brew install --cask firefox  # cask(GUI アプリ)
brew install python@3.12     # 版を指定した formula(versioned formula)
brew install --only-dependencies 名前   # 依存だけ入れる(Tips and Tricks)

Homebrew/homebrew-cask の USAGE に載っている、Firefox を入れたときの出力です。

$ brew install --cask firefox
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/ba243ff8f7984a43088e0a1721e872cdd9ae7df0/Casks/f/firefox.rb
######################################################################## 100.0%
==> Downloading https://download-installer.cdn.mozilla.net/pub/firefox/releases/128.0/mac/en-US/Firefox%20128.0.dmg
######################################################################## 100.0%
==> Installing Cask firefox
==> Moving App 'Firefox.app' to '/Applications/Firefox.app'
==> Linking Binary 'firefox.wrapper.sh' to '/opt/homebrew/bin/firefox'
🍺  firefox was successfully installed!

cask の定義を取り、配布元からアプリをダウンロードし、/Applications に移し、コマンドへのリンクを張る、という流れが読み取れます。アプリの置き場を変えるには --appdir=~/Applications、毎回使うなら環境変数 HOMEBREW_CASK_OPTS に書きます(USAGE)。

版を指定して入れる(@付きの formula)

homebrew/core には python@3.12 や postgresql@16 のように、版を名前に含む formula(versioned formula)があります(公式 Versions)。公式は、自分の都合で版を固定する目的に versioned formula を使うのではなく、まず homebrew/core にある versioned formula を使い、それが無ければ brew pin や brew version-install(前の版を自分の tap に取り出して入れるコマンド)を使うよう案内しています。

どの入れ方にするかの判断表

入れたいもの コマンド 理由
git・wget・jq などのコマンド brew install 名前 formula。bottle があればビルドなしで入る
Chrome・VS Code・Slack などのアプリ brew install --cask 名前 配布元のビルド済みをそのまま入れる
フォント brew install --cask 名前 cask。置き場は ~/Library/Fonts
Python 3.12 と 3.13 を両方 brew install python@3.12 など versioned formula。切り替えが多いなら pyenv・uv
homebrew/core に無いもの brew install user/repo/名前 第三者の tap。信頼できる相手か確かめる
すでに手で入れたアプリを管理下に brew install --cask --adopt 名前 Tips and Tricks の手順

Python の版の切り替えは、関連記事「pyenvとは|インストール・使い方・仕組みとエラーの直し方」、Node.js は関連記事「Node.js バージョン管理|nvm・fnm・mise・Volta比較と実測」で扱っています。

brew updateとbrew upgradeの違い(outdated・pin)

この節では、update と upgrade の役割の違いと、更新したくないものの止め方が分かります。

brew update は「Homebrew 本体と formula・cask の定義を最新にする」、brew upgrade は「入れたソフトを新しい版にする」です。 公式 FAQ「How do I update my local packages?」は、この順番で案内しています。

brew update              # 定義を更新する
brew outdated            # 新しい版がある入れたものを一覧
brew upgrade             # 全部を新しい版にする
brew upgrade wget        # 1つだけ新しい版にする

brew update

GitHub から Homebrew 本体と定義を取り直す

入れたソフトは変わらない

install などの前に自動でも動く(既定は24時間に1回)

brew upgrade

版が前の、pin していないものを新しくする

依存するものもまとめて上がる

終わると前の版は自動で消える(cleanup)

brew upgrade wget と書いても、ほかのものまで一緒に上がることがあります。公式 FAQ は「formula の版の組み合わせを自由に混ぜることはサポートしておらず、依存するもの・されるものは全部最新に揃える必要がある。python や openssl のような重要なものが上がるときは特に多くが上がる」と説明しています。

更新したくないものは pin

特定の formula や cask を upgrade の対象から外すには brew pin 名前、戻すには brew unpin 名前 です。公式 Versions は、pin している間はセキュリティ更新も止まること、pin した formula を必要とする他の formula の install・upgrade が止まることがあること、pin した cask はアプリ自身の更新機能で勝手に上がることがあること、を欠点として挙げています。自動の update そのものを止めたいときは export HOMEBREW_NO_AUTO_UPDATE=1 を設定します。

自分で更新するアプリと --greedy

自分で更新する機能を持つアプリ(cask に auto_updates true が書かれたもの)は、brew outdated・brew upgrade で基本的に飛ばされます。公式 FAQ によると、入っているアプリの版と cask の版を比べて、入っているほうが前の版と分かるときだけ upgrade に含め、比べられないときは飛ばします。--greedy を付けると、こうした cask も含めて上げます。

brew list・search・info・depsで確かめる

この節では、入っているもの・探し方・詳細の見方が、公式に載っている出力で分かります。

何が入っているかは brew list、探すのは brew search、詳しく見るのは brew info です。 Homebrew/homebrew-cask の USAGE に載っている出力を引用します(brew info の Languages の行は省いています)。

$ brew search --cask firefox
==> Casks
firefox                      firefox@cn                   firefox@esr
firefox@beta                 firefox@developer-edition    firefox@nightly
Use `brew desc` to list packages with a short description.

$ brew list --cask
firefox       google-chrome     opera

$ brew list --cask firefox
==> App
/Applications/Firefox.app (112 files, 360MB)

$ brew info firefox
==> firefox: 128.0 (auto_updates)
https://www.mozilla.org/firefox/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/f/firefox.rb
==> Name
Mozilla Firefox
==> Description
Web browser
==> Artifacts
Firefox.app (App)
/opt/homebrew/Caskroom/firefox/128.0/firefox.wrapper.sh -> firefox (Binary)

brew info の「Not installed」は入っていないこと、「(auto_updates)」はアプリが自分で更新すること、「Artifacts」は何がどこに置かれるかを示しています。formula の brew info では、依存・入っている版・keg-only の理由と PATH の通し方(Caveats)が見られます。

コマンド 分かること
brew list --versions 入っているものと版
brew leaves 他の formula の依存ではない、自分で入れたもの(-r で明示的に入れたものだけ)
brew deps --tree 名前 依存を木の形で表示(--installed で入っているもの全部)
brew uses --installed 名前 その formula に依存している入れたもの
brew desc 名前 1行の説明
brew home 名前 公式サイトをブラウザで開く
brew config 版・prefix・CPU・macOS の版などの環境情報(問題の報告に使う)

名前を間違えると、Homebrew/brew のソースコードにある次の形のエラーになります(Did you mean の候補は似た名前があるときだけ)。

Error: No available formula or cask with the name "名前". Did you mean 候補?

brew uninstall・cleanup・autoremoveで片付ける

この節では、入れたものの消し方と、ディスクを空ける方法が分かります。

消すのは brew uninstall 名前、前の版やキャッシュを消すのは brew cleanup、依存としてだけ入って要らなくなったものを消すのは brew autoremove です。

brew uninstall wget               # formula を消す
brew uninstall --cask firefox     # cask を消す(/Applications のアプリも消える)
brew uninstall --zap --cask 名前  # 設定ファイルなど関連ファイルも消す
brew uninstall --force 名前       # 入っている全部の版を消す
brew cleanup -n                   # 何を消すか見るだけ
brew cleanup                      # 前の版と、120日より前のダウンロードを消す
brew cleanup --prune=all          # キャッシュを全部消す
brew autoremove --dry-run         # 要らなくなった依存を一覧
  • brew(1) によると、--zap は「ほかのアプリと共有しているファイルを消すことがある」ため、何が消えるかを brew info --cask 名前 の zap の欄で見てから使います。
  • brew cleanup が消すダウンロードを消す基準の日数の既定は120日で、HOMEBREW_CLEANUP_MAX_AGE_DAYS で変えられます。-s(--scrub)は最新版のダウンロードも消します。
  • 公式 FAQ によると、brew upgrade は前の版を自動で消し、30日ごとに全体の cleanup も行います。前の版を残したいときは export HOMEBREW_NO_INSTALL_CLEANUP=1 を設定します。
  • 消した formula を一時的に PATH から外すだけなら brew unlink 名前、戻すのは brew link 名前 です(Tips and Tricks)。

Formula・Cask・Tap・Bottleの違い(用語)

この節では、Homebrew のドキュメントに出てくる用語が、公式の定義で分かります。

formula は「ソースからビルドするパッケージの定義」、cask は「配布元がビルドして署名したバイナリを入れるパッケージの定義」、tap は「formula・cask・外部コマンドが入ったディレクトリ(多くは Git リポジトリ)」です。 brew(1) の TERMINOLOGY と Formula Cookbook の用語表を基にまとめます。

用語 公式の定義 例
formula 上流のソースからビルドするパッケージの定義(Ruby のファイル) wget・git・python@3.12
cask 上流がビルドして署名したバイナリを入れるパッケージの定義 firefox・google-chrome・フォント
prefix Homebrew が入っている場所 /opt/homebrew
Cellar 名前付きの rack を入れるディレクトリ /opt/homebrew/Cellar
keg formula の1つの版のインストール先 /opt/homebrew/Cellar/foo/0.1
keg-only prefix にリンクされない formula(openjdk など)。PATH の通し方は brew info に出る brew info openjdk
Caskroom cask を入れるディレクトリ /opt/homebrew/Caskroom
bottle ビルド済みの keg。ソースからビルドせずに Cellar に注ぐ qt--6.5.1.ventura.bottle.tar.gz
tap formula・cask・外部コマンドのディレクトリ(Git リポジトリ) homebrew/core・homebrew/cask

Formula Cookbook によると、Homebrew 4.0.0 以降、formula の定義は homebrew/core リポジトリを手元に clone するのではなく、formulae.brew.sh から JSON として取得されます。そのため brew tap を実行しても homebrew/core は一覧に出ないのが普通です。

bottle が使われない条件

公式 FAQ によると、bottle(ビルド済み)があれば既定でそれが使われますが、--build-from-source を付けたとき、使っている OS の版向けの bottle が無いとき、prefix が既定と違って bottle を置き換えられないとき、formula のオプションを付けたとき、はソースからビルドになります。インストールに時間がかかるのはこのときです。

brew tap で第三者のリポジトリを足す

公式 Taps によると、brew tap user/repo は https://github.com/user/homebrew-repo を clone します(GitHub 以外は URL を2つ目の引数に書く)。公式ドキュメント Taps に載っている一覧の出力です。

$ brew tap
petere/postgresql

公式は「tap の中のコードは自分のユーザー権限で動く」として、公式以外の tap を使う前に Tap Trust のドキュメントを読むよう求めています。tap を足しただけでは tap 全体を信頼したことにはならず、brew install user/repo/名前 のように完全な名前で入れると、その1つだけを信頼する形になります。同じ名前の formula が homebrew/core にもあるときも、完全な名前で区別します。外すのは brew untap user/repo です。

Brewfileとbrew bundle(環境をまるごと再現する)

この節では、入れたものを1つのファイルに書き出し、別の Mac や新しい Mac で同じ環境を作る方法が分かります。

brew bundle dump で今の環境を Brewfile に書き出し、brew bundle でその内容を入れます。 公式「Homebrew Bundle, brew bundle and Brewfile」は、実行する brew コマンドを並べるのではなく「到達したい状態を書く」宣言的な仕組みだと説明しています。

tap "apple/apple"
brew "git"
brew "postgresql@16", restart_service: true
cask "firefox"
cask "visual-studio-code"
mas "Refined GitHub", id: 1519867270
vscode "editorconfig.editorconfig"

formula・cask・tap のほかに、Mac App Store のアプリ(mas)、VS Code の拡張、Go・Cargo・npm・uv のパッケージ、Linux の Flatpak、WSL の WinGet まで書けます(brew(1))。公式ドキュメントに載っている実行結果です。

$ brew bundle
Installing ruby
`brew bundle` complete! 1 Brewfile dependency now installed.

$ brew bundle check
The Brewfile's dependencies are satisfied.

$ brew bundle cleanup --global --force
Uninstalling gcc... (1,914 files, 459.8MB)
Uninstalled 1 formula
コマンド 何をするか
brew bundle dump 今入っているものを Brewfile に書き出す(--global --force で ~/.Brewfile に上書き)
brew bundle(brew bundle install) Brewfile の内容を入れる。入っていれば何もしない、版が前なら upgrade
brew bundle check 入れるものが残っているかを確かめる。スクリプトでは brew bundle check || brew bundle install
brew bundle cleanup --force Brewfile に無いものを消す(--force なしは一覧だけ)
brew bundle add 名前・remove 名前 Brewfile に行を足す・消す
brew bundle exec コマンド Brewfile のものが PATH に通った状態でコマンドを実行する

公式は、プロジェクトのリポジトリに package.json や requirements.txt と同じ感覚で Brewfile を置き、開発環境の依存を1コマンドで揃える使い方と、Mac の乗り換えで brew bundle dump → 新しい Mac で brew bundle install と復元する使い方を案内しています。Common Issues も、Homebrew を入れ直す前に brew bundle dump で記録を取り、Brewfile を prefix の外に置いておくよう書いています。

brew servicesで常駐サービスを動かす

この節では、PostgreSQL や MySQL のように常駐するソフトを Homebrew で起動・停止する方法が分かります。

brew services start 名前 で、そのサービスを今すぐ起動し、ログイン時にも起動するよう登録します。 brew(1) によると、Mac では launchctl、Linux では systemctl を使い、sudo を付けると /Library/LaunchDaemons(起動時)、付けないと ~/Library/LaunchAgents(ログイン時)に登録されます。

コマンド 何をするか(brew(1))
brew services list 管理しているサービスの一覧(--json も可)
brew services start 名前 今すぐ起動し、ログイン(起動)時にも起動するよう登録
brew services run 名前 今すぐ起動するが、登録はしない
brew services stop 名前 止めて登録も外す(--keep で登録は残す)
brew services restart 名前 止めてから起動し、登録する
brew services kill 名前 今すぐ止めるが、登録は残す
brew services info 名前 そのサービスの状態
brew services cleanup 使っていないサービスの定義を消す

サービスに環境変数を渡すには ~/.homebrew/services/名前.env に KEY=value の形で書き、次の brew services restart から反映されます(brew(1))。Brewfile では brew "postgresql@16", restart_service: true のように書くと、入れたあとにサービスの起動まで行えます。

brew doctorの警告とよくあるエラーの直し方

この節では、brew doctor が出す警告の意味と、インストール・Cask でよく出るエラーの原文と直し方が分かります。

困ったときの公式の手順は「brew update を2回 → brew doctor → 警告を全部読む → 直す → もう一度実行」です(公式 Troubleshooting)。 問題が無ければ、brew doctor は次の1行を返します(Homebrew/brew のソースコード)。

Your system is ready to brew.

brew(1) は、doctor の警告は「issue を出すときにメンテナーが調べる手がかり」であり、使っているものが問題なく動いているなら気にせず無視してよい、とも書いています。ソースコードで確かめた、よく出る警告です。

警告の原文(冒頭) 意味 直し方
Homebrew's "bin" was not found in your PATH. prefix/bin が PATH に無い 「Consider setting your PATH for example like so:」の案内の通りに brew shellenv を設定ファイルに書く
No developer tools installed. Command Line Tools も Xcode も無い xcode-select --install(bottle と cask だけなら動く)
A newer Command Line Tools release is available. CLT が前の版(Tier 2) システム設定のソフトウェア・アップデートで更新。出ないときは CLT のフォルダーを消して入れ直す(表の下の公式の案内)
Your Command Line Tools are too outdated. CLT が最低の版より前 同上
You have unlinked kegs in your Cellar. 入っているのにリンクされていない formula がある 案内に出る brew link 名前 を実行
Unbrewed dylibs were found in /usr/local/lib. Homebrew 以外が置いたライブラリがある 何が置いたかを確かめる。動いていれば無視してよい
You are using macOS on Intel x86_64. Intel Mac は Tier 3 直せない。MacPorts か Apple シリコンへの移行を案内
An outdated version (…) of Git was detected in your PATH. PATH の git が前の版 brew install git か CLT の更新

Command Line Tools の警告で、ソフトウェア・アップデートに更新が出ないときに brew doctor が案内する手順です(Homebrew/brew のソースコード)。

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

インストール・Cask でよく出るエラー

エラーの原文 原因 直し方(公式)
zsh: command not found: brew PATH が通っていない 「Next steps」の3行を実行し、ターミナルを開き直す
Homebrew on macOS is only supported on Apple Silicon processors! Intel Mac でインストーラーを実行した 新規インストールは対象外(2026年10月29日時点)。Support Tiers を参照
Warning: /opt/homebrew/bin is not in your PATH. インストールは終わったが PATH 未設定 「Next steps」の案内通りに設定する
Error: No available formula or cask with the name "…". 名前の綴り違い・定義が前のもの brew search で名前を確かめ、brew update する
curl: (22) The requested URL returned error: 403 Forbidden cask の配布元からダウンロードできない 配布元が落ちている・cask が前の版・自分の回線。brew home 名前 で配布元の URL を確かめる(Common Issues)
Error: Checksum for Cask '…' does not match. ダウンロードが途中・配布元がファイルを差し替えた エラーに出たキャッシュのファイルだけ消して1回だけやり直す。それでも違うなら cask の更新を待つ。チェックサムを回避しない(Common Issues)
Error: Permission denied - (/usr/local/Caskroom/…, /Applications/…) アプリの置き場に書き込めない 自分のユーザーが書ける場所か確かめる。--appdir で場所を変える。prefix 全体の所有者を一括で変えない(Common Issues)
early EOF・index-pack failed GitHub との通信が切れた プロキシ・VPN・ファイアウォールを確かめ、安定した回線でやり直す(Common Issues)
Error: No such keg: /opt/homebrew/Cellar/… 入っていないものを uninstall・link した brew list で入っているかを確かめる

直すときにやってはいけないこと(公式 Common Issues)

NG以前の issue からコピーした git reset --hard・git clean・chown -R をそのまま実行する。sudo brew で動かす
→
OKエラーを全部読み、brew update-reset "$(brew --repository)" のように対象を絞って戻す。所有者を変えるのは問題のパスを特定してから

公式 FAQ:Homebrew は上流のビルドスクリプトにシステム全体の権限を与えないため、sudo を使わない

macOS をアップグレードしたあと

公式 Common Issues によると、macOS のアップグレードで Command Line Tools や入れた formula が使うライブラリが無効になることがあります。手順は「macOS の更新を全部入れる → brew doctor が指摘したら Command Line Tools を入れ直す → brew update → brew upgrade」です。大きな版の更新のあとは、pkgconf などがソースから作り直されることがあります。無いライブラリへのシンボリックリンクを手で作るのは、不完全な更新を隠すため、やらないよう書かれています。

Homebrew 自体のアンインストール

Homebrew/install の README にある公式の uninstall スクリプトを実行します。Intel から Apple シリコンへ移って /usr/local の Homebrew を消すような、場所を指定して消すときは、スクリプトをダウンロードして --path を付けます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

# 場所を指定して消す(Intel の /usr/local を消す例・README)
curl -fsSLO https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
/bin/bash uninstall.sh --path /usr/local

Common Issues は、Migration Assistant や Apple シリコン上の x86_64 のターミナルで /usr/local と /opt/homebrew の両方が有効になることがあるとして、arch・command -v brew・brew --prefix で今どちらを使っているかを確かめ、消す前に arch -x86_64 /usr/local/bin/brew bundle dump --file=~/intel-Brewfile で前の環境を記録するよう案内しています。

  • 1インストール後に brew --version が動く動かないなら「Next steps」の PATH 設定
  • 2brew doctor が「Your system is ready to brew.」警告があれば原文を読んで表で引く
  • 3brew --prefix が自分の環境の既定の場所Apple シリコンなら /opt/homebrew
  • 4brew bundle dump で Brewfile を取っておく入れ直し・乗り換えのときの保険
  • 5sudo brew を使っていない初回のインストール以外に sudo は要らない

Docker Desktop のように cask で入れることの多いアプリのインストールと有料の条件は、関連記事「Docker Desktopとは|インストール・使い方・有料の条件とエラー対処」で扱っています。

よくある質問

Q. Homebrew とは何ですか? A. macOS・Linux・WSL でコマンドラインツールやアプリをインストール・更新・削除するパッケージ管理ツールです。公式サイトは「どこでも使えるパッケージマネージャー」と説明しています。パッケージは prefix(Apple シリコンなら /opt/homebrew)の中だけに入り、初回のインストール以降は sudo を使いません。

Q. Mac に Homebrew をインストールするには? A. ターミナルで brew.sh の1行 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" を実行し、パスワードを入れて Enter で進め、最後に出る「Next steps」の3行を実行します。Apple シリコンと macOS 15 以降が条件です。

Q. Intel Mac にはもう入れられませんか? A. 2026年10月29日時点の公式インストーラーは、Intel Mac では「Homebrew on macOS is only supported on Apple Silicon processors!」で止まります。すでに入っている /usr/local の Homebrew は Tier 3(サポート外)として動き、公式は2027年9月以降に Intel での動作を取り除く予定と書いています。

Q. インストールしたのに「command not found: brew」になります。 A. PATH が通っていません。eval "$(/opt/homebrew/bin/brew shellenv)" を実行して動くことを確かめ、同じ行を ~/.zprofile(zsh の Mac)に追記してターミナルを開き直します。

Q. .zprofile と .zshrc のどちらに書きますか? A. 公式のインストーラーは、Mac の zsh では ~/.zprofile、Linux の zsh では ~/.zshrc に書きます。brew(1) も Mac では ~/.zprofile・~/.bash_profile、Linux では ~/.zshrc・~/.bashrc を例に挙げています。

Q. brew update と brew upgrade の違いは? A. update は Homebrew 本体とパッケージの定義を最新にするだけで、入れたソフトは変わりません。upgrade は入れたソフトを新しい版にします。brew update → brew outdated → brew upgrade の順です。

Q. brew install と brew install --cask の違いは? A. 付けないと formula(コマンドラインのソフト。ソースからビルドする定義で、多くは bottle というビルド済みが使われる)、--cask を付けると cask(配布元がビルドした GUI アプリ・フォントなど)が入ります。

Q. brew upgrade で頼んでいないものまで上がるのはなぜですか? A. 公式 FAQ によると、Homebrew は formula の版の組み合わせを自由に混ぜることをサポートしておらず、依存するもの・されるものを全部最新に揃えるためです。特定のものだけ止めたいなら brew pin 名前 を使います。

Q. sudo brew install と書いてもよいですか? A. 公式は使わないよう求めています。上流のビルドスクリプトにシステム全体の権限を与えないためで、初回のインストール以外に sudo は要りません。sudo で動かすとファイルの所有者が root になり、以後の brew が失敗する原因になります。

Q. brew doctor の警告は全部直すべきですか? A. brew(1) は、警告は issue を出すときの手がかりであり、使っているものが問題なく動いているなら無視してよい、と書いています。何かが失敗しているときは、警告のうち関係するものを直してからやり直します。

Q. Homebrew をアンインストールするには? A. Homebrew/install の README にある uninstall.sh を実行します。場所を指定して消すときは、スクリプトをダウンロードして /bin/bash uninstall.sh --path /usr/local のように --path を付けます。

Q. 新しい Mac に同じ環境を作るには? A. 前の Mac で brew bundle dump を実行して Brewfile を作り、新しい Mac に Homebrew を入れてから、その Brewfile のある場所で brew bundle を実行します。formula・cask・tap・Mac App Store のアプリ・VS Code の拡張まで1つのファイルで書けます。

まとめ

  • Homebrew は macOS・Linux・WSL のパッケージ管理ツールで、brew install 名前 で入れ、brew update → brew upgrade で更新する。初回以外に sudo は使わない。
  • インストール先は Apple シリコンが /opt/homebrew、Intel が /usr/local、Linux が /home/linuxbrew/.linuxbrew。Apple シリコンと Linux は brew shellenv で PATH を通す必要があり、「command not found: brew」はこれが原因。
  • 2026年10月29日時点の公式インストーラーは Intel Mac で止まり、Intel は Tier 3。2027年9月以降に Intel での動作が取り除かれる予定(公式 Support Tiers)。
  • formula はソースからビルドする定義(多くは bottle で入る)、cask は配布元のビルド済み(GUI アプリ)、tap は第三者のリポジトリ。brew cleanup・brew autoremove で片付け、brew bundle dump の Brewfile で環境を再現する。
  • 困ったら brew update を2回 → brew doctor → 警告を全部読む。以前の issue のコマンドをそのまま実行しない。

参考・出典

確認日はいずれも 2026年10月29日です。docs.brew.sh の各ページは、同じ原文が置かれている Homebrew/brew リポジトリの docs/ でも確かめました。

  • Homebrew「The Missing Package Manager for macOS (or Linux)」(日本語ページ):https://brew.sh/ja/
  • Homebrew「Installation」:https://docs.brew.sh/Installation
  • Homebrew「Homebrew on Linux」:https://docs.brew.sh/Homebrew-on-Linux
  • Homebrew「FAQ」:https://docs.brew.sh/FAQ
  • Homebrew「brew(1) – The Package Manager for Everywhere」(Manpage):https://docs.brew.sh/Manpage
  • Homebrew「Support Tiers」:https://docs.brew.sh/Support-Tiers
  • Homebrew「Troubleshooting」:https://docs.brew.sh/Troubleshooting
  • Homebrew「Common Issues」:https://docs.brew.sh/Common-Issues
  • Homebrew「Taps (Third-Party Repositories)」:https://docs.brew.sh/Taps
  • Homebrew「Homebrew Bundle, brew bundle and Brewfile」:https://docs.brew.sh/Brew-Bundle-and-Brewfile
  • Homebrew「Formula Cookbook」(Homebrew terminology):https://docs.brew.sh/Formula-Cookbook
  • Homebrew「Formulae Versions」:https://docs.brew.sh/Versions
  • Homebrew「Tips and Tricks」:https://docs.brew.sh/Tips-and-Tricks
  • Homebrew「Anonymous Analytics」:https://docs.brew.sh/Analytics
  • Homebrew/install「Homebrew (un)installer」README と install.sh:https://github.com/Homebrew/install
  • Homebrew/brew のソースコード「Library/Homebrew/diagnostic.rb」「cmd/doctor.rb」「exceptions.rb」:https://github.com/Homebrew/brew
  • Homebrew/homebrew-cask「README」「USAGE.md」「doc/reporting_bugs/error_examples.md」:https://github.com/Homebrew/homebrew-cask
  • Homebrew/brew「Releases」(7.0.11):https://github.com/Homebrew/brew/releases/latest

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Homebrewとは・使い方|Macインストール手順とbrewコマンド一覧」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?