Homebrew でよく使う便利コマンド 15 選

macOS での開発環境構築において、Homebrew は欠かせないツールです。しかし、多くの開発者が基本的なbrew install
しか使っていないのが現状ではないでしょうか。実は、Homebrew には開発効率を劇的に向上させる便利なコマンドが数多く存在します。
今回は、日々の開発作業を快適にする「本当に使える」Homebrew コマンド 15 選をご紹介します。これらのコマンドを覚えることで、パッケージ管理の悩みから解放され、より本質的な開発作業に集中できるようになるでしょう。
基本操作コマンド 5 選
brew install - パッケージをインストール
最も基本的なコマンドですが、実は奥が深いのです。単純なインストールだけでなく、オプションを使いこなすことで、より柔軟な環境構築が可能になります。
bash# 基本的なインストール
brew install node
# 特定のバージョンを指定してインストール
brew install node@18
# 複数のパッケージを一度にインストール
brew install git curl wget
よくあるエラーと対処法
Error: Permission denied @ dir_s_mkdir - /usr/local/var
のエラーが発生した場合、権限の問題が考えられます。
bash# 権限エラーの解決
sudo chown -R $(whoami) /usr/local/var
sudo chown -R $(whoami) /usr/local/lib/pkgconfig
sudo chown -R $(whoami) /usr/local/share/info
brew uninstall - パッケージをアンインストール
不要になったパッケージを削除するコマンドです。依存関係を残したくない場合は、後述のautoremove
と組み合わせて使用しましょう。
bash# 基本的なアンインストール
brew uninstall node
# 依存関係も含めて完全削除
brew uninstall node
brew autoremove
注意点として、他のパッケージが依存している場合、以下のようなエラーが表示されます:
bashError: Refusing to uninstall /usr/local/Cellar/node/18.17.0
because it is required by yarn, which is currently installed.
このような場合は、依存しているパッケージを先にアンインストールする必要があります。
brew update - Homebrew 本体を更新
Homebrew の機能を最新に保つために重要なコマンドです。新しいパッケージが追加されたり、セキュリティ修正が含まれたりするため、定期的に実行することをおすすめします。
bash# Homebrew本体とformula情報を更新
brew update
実行結果の例
bashUpdated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
ast-grep dolt helm-ls
==> Updated Formulae
Updated 127 formulae.
brew upgrade - インストール済みパッケージを更新
インストール済みのパッケージを最新バージョンに更新するコマンドです。セキュリティ対策の観点からも、定期的な実行が推奨されます。
bash# 全てのパッケージを更新
brew upgrade
# 特定のパッケージのみ更新
brew upgrade node
# 更新可能なパッケージを確認(実際には更新しない)
brew outdated
注意すべきエラー
bashError: Cannot install node because conflicting formulae are installed.
node@16: because node is already installed
このエラーは、異なるバージョンのパッケージが競合している場合に発生します。brew unlink
とbrew link
を使って解決できます。
brew list - インストール済みパッケージを一覧表示
現在の環境を把握するための重要なコマンドです。プロジェクトの引き継ぎや環境の再構築時に威力を発揮します。
bash# インストール済みパッケージの一覧
brew list
# 詳細情報付きで表示
brew list --versions
# 特定のパッケージのインストール状況を確認
brew list node
活用のコツ
bash# パッケージ数を確認
brew list | wc -l
# 特定の文字列を含むパッケージを検索
brew list | grep python
情報確認コマンド 4 選
brew info - パッケージの詳細情報を表示
パッケージをインストールする前に、その詳細情報を確認することは非常に重要です。依存関係や設定方法、注意点などを事前に把握できます。
bash# パッケージの詳細情報を表示
brew info node
# 複数のパッケージの情報を一度に確認
brew info git curl wget
表示される情報の例
bashnode: stable 20.5.1 (bottled), HEAD
Platform built on V8 to build network applications
https://nodejs.org/
/usr/local/Cellar/node/20.5.1 (1,960 files, 50.1MB) *
Poured from bottle on 2023-07-28 at 10:30:15
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/node.rb
brew search - パッケージを検索
インストールしたいパッケージの正確な名前がわからない場合に重宝するコマンドです。関連するパッケージを発見する際にも活用できます。
bash# 基本的な検索
brew search python
# 正規表現を使った検索
brew search /python.*3/
# 説明文も含めて検索
brew search --desc "web server"
検索結果の読み方
bash==> Formulae
python@3.9 ✓ python@3.10 ✓ python@3.11 ✓
python@3.12 python-tk@3.9 python-tk@3.10
==> Casks
python-launcher
✓ マークは既にインストール済みのパッケージを示しています。
brew deps - 依存関係を確認
パッケージの依存関係を理解することで、システムの構成を把握し、トラブルシューティングに役立てることができます。
bash# 依存関係をツリー形式で表示
brew deps --tree node
# 特定のパッケージに依存しているパッケージを確認
brew uses --installed node
依存関係の例
bashnode
├── c-ares
├── icu4c
├── libuv
└── openssl@3
└── ca-certificates
brew doctor - システムの問題をチェック
環境に問題がある場合の診断ツールです。インストールがうまくいかない時や、予期しない動作が発生した時の第一歩として活用しましょう。
bash# システムの健康状態をチェック
brew doctor
よくある警告と対処法
bashWarning: Your system is ready to brew.
# 問題なしの場合
Warning: Some installed formulae are missing dependencies.
# 依存関係の問題がある場合
brew missing
メンテナンス・管理コマンド 3 選
brew cleanup - 不要なファイルを削除
定期的なクリーンアップは、ディスク容量の節約とシステムの健全性維持に欠かせません。
bash# 全ての不要ファイルを削除
brew cleanup
# 特定のパッケージのみクリーンアップ
brew cleanup node
# 削除される内容を事前に確認
brew cleanup --dry-run
クリーンアップの効果
bash# クリーンアップ前のディスク使用量を確認
du -sh /usr/local/Cellar
# クリーンアップ実行
brew cleanup
# 削除されたファイルサイズの確認
Removing: /usr/local/Cellar/node/18.16.0... (1,960 files, 50.1MB)
Removing: /usr/local/Cellar/git/2.40.1... (1,664 files, 44.7MB)
brew autoremove - 不要な依存関係を削除
パッケージをアンインストールした後に残る、不要な依存関係を自動的に削除します。システムをクリーンに保つための重要なコマンドです。
bash# 不要な依存関係を自動削除
brew autoremove
# 削除される内容を確認
brew autoremove --dry-run
実行例
bash==> Autoremoving 3 unneeded formulae:
ca-certificates, openssl@3, readline
brew pin/unpin - パッケージの更新を固定/解除
特定のバージョンを維持したい場合に使用するコマンドです。プロジェクトの互換性を保つために重要な機能です。
bash# パッケージの更新を固定
brew pin node
# 固定を解除
brew unpin node
# 固定されているパッケージを確認
brew list --pinned
使用シーン
bash# 本番環境と同じバージョンを維持
brew pin node@18
brew pin python@3.9
# 開発中のプロジェクトで使用中のバージョンを固定
brew pin postgresql@13
応用・便利コマンド 3 選
brew services - サービスの管理
バックグラウンドで動作するサービスを管理するコマンドです。データベースや Web サーバーの管理が格段に楽になります。
bash# サービスの一覧を表示
brew services list
# サービスを開始
brew services start postgresql
# サービスを停止
brew services stop postgresql
# サービスを再起動
brew services restart nginx
サービス管理の例
bash# 開発環境を一括起動
brew services start postgresql
brew services start redis
brew services start nginx
# 自動起動の設定
brew services start postgresql --auto-start
brew bundle - パッケージをまとめて管理
Brewfile
を使って、プロジェクトやチームで環境を統一できる素晴らしい機能です。
bash# 現在の環境からBrewfileを生成
brew bundle dump
# Brewfileから環境を復元
brew bundle install
# 不要なパッケージを削除
brew bundle cleanup
Brewfile の例
ruby# Brewfile
tap "homebrew/cask"
tap "homebrew/core"
# CLI tools
brew "git"
brew "node"
brew "yarn"
brew "postgresql"
# Applications
cask "visual-studio-code"
cask "google-chrome"
cask "docker"
brew --prefix - インストールパスを確認
パッケージのインストールパスを確認するコマンドです。設定ファイルの編集やパスの設定に重要な情報を提供します。
bash# Homebrewのベースパスを確認
brew --prefix
# 特定のパッケージのパスを確認
brew --prefix node
brew --prefix python@3.11
実用的な活用例
bash# 環境変数の設定
export NODE_PATH=$(brew --prefix node)/lib/node_modules
# 設定ファイルの場所を確認
echo "$(brew --prefix nginx)/etc/nginx/nginx.conf"
# シンボリックリンクの作成
ln -s $(brew --prefix node)/bin/node /usr/local/bin/node
まとめ
Homebrew の便利コマンド 15 選をご紹介しました。これらのコマンドを日常的に使うことで、パッケージ管理に関するストレスが大幅に軽減されるはずです。
特に重要なのは、brew doctor
での定期的な健康チェックと、brew cleanup
でのメンテナンス、そしてbrew bundle
を使った環境の統一管理です。これらを習慣化することで、開発環境の品質が格段に向上します。
また、エラーに直面した際は、エラーメッセージを注意深く読み、適切な対処法を選択することが大切です。多くの場合、Homebrew のエラーメッセージは親切で、解決策のヒントが含まれています。
最後に、これらのコマンドは単なるツールではなく、より良い開発体験を実現するための手段です。効率的なパッケージ管理により、本当に大切な開発作業に集中できる環境を構築していきましょう。
関連リンク
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来