1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

macOSでの開発に移行したのでHomebrewについて学ぶ

Posted at

macOS開発者の必需品!Homebrewの仕組みと使い方まとめ

macOSで開発環境を構築する際、ほぼ必ずと言っていいほど登場するのが Homebrew らしいということで。
この記事では、Homebrewが何であり、どのような仕組みで動作し、どのように使えば良いのか、基本的な部分をまとめました。

目次


Homebrewとは? macOS用パッケージマネージャー

Homebrew は、macOS(およびLinux)向けのパッケージマネージャーです。

パッケージマネージャーとは?
ソフトウェア(特にコマンドラインツールや開発ライブラリ、時にはGUIアプリケーション)のインストール、アップデート、アンインストール、依存関係の管理などを簡単に行えるようにするツールです。

Homebrewの目的と利点:
AppleがmacOSに標準で搭載していないソフトウェアや、搭載されていてもバージョンが古いものを、ターミナルから簡単なコマンドで管理できるようにします。これにより、開発者にとって以下のような大きな利点があります。

  • 手間の削減と時間節約: 各ツールの公式サイトを探してダウンロードし、個別に設定する…といった手間が省け、brew install コマンド一つで素早く導入できます。これにより、開発環境構築にかかる時間を大幅に短縮できます。
  • 最新バージョンの利用: OS標準のツールは保守的でバージョンが古いことが多いですが、Homebrewを使えば比較的新しいバージョンのソフトウェアを簡単に利用でき、最新機能やセキュリティ修正の恩恵を受けやすくなります。
  • 環境構築の再現性向上: コマンドベースでの管理は手順を記録・共有しやすく、手動インストールよりも自分やチームメンバー間で開発環境を揃えやすくなります。(Brewfileを使えば、さらに高度な環境再現も可能です。)
  • 依存関係の自動管理: あるソフトウェアが必要とする他のライブラリなども自動で検出しインストールしてくれるため、「ライブラリが足りなくて動かない」といった環境構築時のトラブルを減らすことができます。
  • 統一的な管理インターフェース: 様々なツールやライブラリをHomebrewという一つの仕組みで導入・更新・削除できるため、管理が煩雑にならず、環境をクリーンに保ちやすくなります。

例えば、git, node, python, wget, tree, vim など、多くの便利なツールやプログラミング言語環境を、これらの利点を享受しながらHomebrew経由で導入できます。


Homebrewの基本的な仕組み

Homebrewがどのようにソフトウェアを管理しているのか、主要な要素を見てみましょう。

Formula (フォーミュラ):ソフトウェアのレシピ

  • 個々のソフトウェアをインストールするための手順書のようなものです。Rubyスクリプトで書かれています。
  • ソフトウェアのダウンロード元、依存関係(そのソフトが必要とする他のライブラリ)、ビルド方法などが定義されています。
  • brew install <formula名> の形で使います。(例: brew install git

Tap (タップ):Formulaのリポジトリ

  • Formulaを集めておく場所(Gitリポジトリ)です。
  • デフォルトで homebrew-core(主要なFormula)や homebrew-cask(GUIアプリ用)などが用意されています。
  • brew tap <user/repo> コマンドで、サードパーティ製のTapを追加し、そこに含まれるFormulaを使うこともできます。

Cellar (セラー):ソフトウェアの保管庫

  • Homebrewでインストールしたソフトウェアの実体がバージョンごとに格納されるディレクトリです。
  • 通常、以下の場所にあります。
    • Apple Silicon Mac: /opt/homebrew/Cellar
    • Intel Mac: /usr/local/Cellar
  • これにより、異なるバージョンのソフトウェアを共存させることが可能です。

シンボリックリンク:コマンドへの橋渡し

  • Cellarにインストールされたソフトウェアの実体ファイル(実行ファイルやライブラリ)に対して、実際にコマンドとして実行される場所($PATH が通っているディレクトリ、例: /opt/homebrew/bin)へシンボリックリンク(ショートカットのようなもの)が作成されます。
  • ターミナルで git と入力すると、このシンボリックリンクを通じてCellar内の対応するバージョンのgitが実行される仕組みです。
  • brew upgrade などでバージョンアップした際は、このリンク先が新しいバージョンに切り替わります。

依存関係の自動解決

  • あるソフトウェア(例: A)が動作するために別のライブラリ(例: B)が必要な場合、brew install A を実行すると、HomebrewはBも自動的にインストールしてくれます。手動で依存関係を調べてインストールする手間が省けます。

Homebrewの基本的な使い方:主要コマンド

日常的によく使うHomebrewコマンドを紹介します。

  • HomebrewとFormulaリストの更新 (重要!)

    brew update
    

    ※インストールやアップグレードの前には実行するのがおすすめです。

  • ソフトウェアの検索

    brew search <検索キーワード>
    
  • ソフトウェアのインストール

    brew install <formula名>
    

    (例: brew install node)

  • インストール済みソフトウェア一覧

    brew list
    
  • ソフトウェアのアップグレード

    # 特定のソフトウェアをアップグレード
    brew upgrade <formula名>
    # インストール済みの全ソフトウェアをアップグレード
    brew upgrade
    
  • ソフトウェアのアンインストール

    brew uninstall <formula名>
    
  • Homebrew環境の診断

    brew doctor
    

    ※何か問題が起きたらまず試してみるコマンドです。


Homebrewを使うメリット

  • 簡単インストール: コマンド一つで多くのソフトウェアを簡単に導入できます。
  • 依存関係の自動解決: 手間のかかる依存ライブラリのインストールを自動で行ってくれます。
  • 簡単なアップデート: brew upgrade で簡単に最新版に追従できます。
  • 環境のクリーンさ: ソフトウェアはCellarに隔離され、シンボリックリンクで管理されるため、システムを汚しにくいです。
  • 豊富なソフトウェア: 開発ツールを中心に、非常に多くのFormulaが提供されています。

トラブルシューティングの第一歩:brew doctor

Homebrewを使っていて何か問題が発生した場合(コマンドが見つからない、エラーが出るなど)、まずは brew doctor を実行してみましょう。Homebrewの設定や環境の問題点を診断し、解決策のヒントを表示してくれます。


GUIアプリも管理:brew install --cask

Homebrewはコマンドラインツールだけでなく、--cask オプション(古い形式では brew cask install)を使うことで、GUIアプリケーションもインストール・管理できます。

# 例: Visual Studio Codeをインストール
brew install --cask visual-studio-code

# 例: Google Chromeをインストール
brew install --cask google-chrome

# Caskでインストールしたアプリのアップグレード
brew upgrade --cask

これにより、開発環境に必要なツール(エディタ、ブラウザ、DBクライアントなど)のセットアップもコマンドラインで統一的に管理でき、非常に便利です。

※なおHomebrew以外での公式インストールを手動で行った場合は(例えばNodeなど)brew doctorでWarning警告が出ます。基本的には無視してもOKなことが多いようですが、環境をクリーンにしておきたい方は

sudo rm -rf /usr/local/include/node

など削除コマンドを使うことで解消できます。ただしrm -rf は強力な削除コマンドなのでパスを間違えないように気をつけましょう。


まとめ

macOSで開発を行う上で、Homebrewはもはや欠かせないツールのようです。
開発環境の構築・管理の効率化のためにも仕組みを理解して、基本的なコマンドからどんどん使いこなしていきたいですね〜。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?