T-CREATOR

Homebrew 最新動向 2025:Apple Silicon 時代のパッケージ管理トレンド総まとめ

Homebrew 最新動向 2025:Apple Silicon 時代のパッケージ管理トレンド総まとめ

macOS の開発環境において、Homebrew は欠かせないパッケージマネージャーとして多くの開発者に利用されています。2025 年に入り、Homebrew は 5.0.0 という大きなマイルストーンを迎え、Apple Silicon への完全対応を実現しました。

本記事では、最新バージョン 5.0.0 を中心に、Homebrew の最新動向と Apple Silicon 時代におけるパッケージ管理のトレンドをまとめてご紹介します。

背景

Homebrew の進化と Apple Silicon の台頭

Homebrew は 2009 年の登場以来、macOS における標準的なパッケージマネージャーとして成長してきました。一方、Apple は 2020 年に独自開発の Apple Silicon(M1 チップ)を搭載した Mac を発表し、Intel x86_64 アーキテクチャから ARM64 アーキテクチャへの移行を開始しました。

この大きな変革により、パッケージマネージャーにもアーキテクチャ対応が求められるようになったのです。

mermaidflowchart TD
    A["2009年<br/>Homebrew 誕生"] --> B["2020年<br/>Apple Silicon (M1) 登場"]
    B --> C["2021年2月<br/>Homebrew 3.0.0<br/>Apple Silicon 初期対応"]
    C --> D["2023年2月<br/>Homebrew 4.0.0<br/>パフォーマンス改善"]
    D --> E["2024年5月<br/>Homebrew 4.3.0<br/>セキュリティ強化"]
    E --> F["2025年11月<br/>Homebrew 5.0.0<br/>ARM64 完全サポート"]

Apple Silicon 対応の重要性

M1、M2、M3、M4 と続く Apple Silicon チップは、Intel チップと比較して優れた性能と電力効率を実現しています。開発者がこの性能を最大限に活用するには、パッケージマネージャーがネイティブに ARM64 アーキテクチャをサポートすることが不可欠でした。

Homebrew は 2021 年の 3.0.0 リリースで Apple Silicon のサポートを開始し、以降も継続的に改善を重ねてきました。

課題

アーキテクチャ移行期の複雑さ

Apple Silicon への移行期において、開発者は複数の課題に直面していました。

インストール場所の違い

Intel Mac と Apple Silicon Mac では、Homebrew のインストール先が異なります。

項目Intel MacApple Silicon Mac
インストール先​/​usr​/​local​/​opt​/​homebrew
アーキテクチャx86_64ARM64 (AArch64)
PATH 設定自動設定手動設定が必要

この違いにより、Apple Silicon Mac では追加のシェル設定が必要となり、初心者にとって大きなハードルとなっていました。

パッケージ互換性の問題

すべてのパッケージが ARM64 ネイティブに対応しているわけではなく、Rosetta 2 を介した x86_64 エミュレーションが必要なケースもありました。これによりパフォーマンスの低下や、一部の機能が正常に動作しない問題が発生していたのです。

mermaidflowchart LR
    User["開発者"] --> Choice{"パッケージの<br/>対応状況"}
    Choice -->|ARM64 対応| Native["ネイティブ実行<br/>高速・効率的"]
    Choice -->|未対応| Rosetta["Rosetta 2 経由<br/>性能低下"]
    Rosetta --> Problem["互換性問題<br/>発生の可能性"]

セキュリティ上の懸念

従来の Homebrew では、コード署名のないパッケージのインストールが可能でした。また、macOS の Gatekeeper セキュリティ機能をバイパスするオプション(--no-quarantine)が提供されており、セキュリティリスクとなっていました。

パフォーマンスの最適化

大量のパッケージをインストールする際、ダウンロードが逐次的に行われるため、時間がかかるという課題もありました。特に CI/CD 環境では、この待ち時間がパイプライン全体の効率を低下させる要因となっていたのです。

解決策

Homebrew 5.0.0:次世代パッケージ管理の実現

2025 年 11 月にリリースされた Homebrew 5.0.0 は、これらの課題を解決する多くの革新的な機能を搭載しています。

並列ダウンロードのデフォルト化

最も注目すべき改善の一つが、並列ダウンロード機能のデフォルト有効化です。

mermaidsequenceDiagram
    participant User as ユーザー
    participant Brew as Homebrew 5.0.0
    participant Server1 as パッケージサーバー A
    participant Server2 as パッケージサーバー B
    participant Server3 as パッケージサーバー C

    User->>Brew: brew install pkg1 pkg2 pkg3
    Note over Brew: HOMEBREW_DOWNLOAD_CONCURRENCY=auto
    par 並列ダウンロード
        Brew->>Server1: pkg1 をダウンロード
        Brew->>Server2: pkg2 をダウンロード
        Brew->>Server3: pkg3 をダウンロード
    end
    Server1-->>Brew: pkg1 完了
    Server2-->>Brew: pkg2 完了
    Server3-->>Brew: pkg3 完了
    Brew->>User: インストール完了

この機能により、複数パッケージのインストール時間が大幅に短縮されました。環境変数 HOMEBREW_DOWNLOAD_CONCURRENCY が自動的に設定され、ネットワーク環境に応じて最適な並列数が選択されます。

必要に応じて無効化することも可能です。

bash# 並列ダウンロードを無効化する場合
export HOMEBREW_DOWNLOAD_CONCURRENCY=1

Linux ARM64 の正式サポート

Homebrew 5.0.0 では、Linux ARM64/AArch64 が Tier 1 サポートに昇格しました。これにより、クラウド環境で人気の ARM ベースインスタンス(AWS Graviton、Azure Ampere など)での開発体験が大幅に向上しました。

サポートレベル説明対象プラットフォーム(5.0.0 時点)
Tier 1完全サポート・優先対応macOS Apple Silicon、Linux ARM64
Tier 2サポートありmacOS Intel(2026 年 9 月まで)
Tier 3コミュニティサポートmacOS Intel(2026 年 9 月以降)

セキュリティ強化の推進

Homebrew 5.0.0 では、セキュリティ面でも大きな前進がありました。

Gatekeeper バイパスの廃止

--no-quarantine および --quarantine フラグが非推奨となり、macOS のセキュリティ機能を回避できなくなりました。

bash# 従来(非推奨)
brew install --cask app-name --no-quarantine

# 5.0.0 以降(Gatekeeper が自動適用される)
brew install --cask app-name

これにより、ダウンロードしたアプリケーションは必ず macOS の Gatekeeper による検証を受けることになり、マルウェアのリスクが大幅に低減されます。

コード署名の必須化

2026 年 9 月までに、コード署名のない Cask(GUI アプリケーション)はすべて無効化される予定です。Gatekeeper 検証に失敗する Cask は使用できなくなるため、より安全なエコシステムが構築されるでしょう。

mermaidstateDiagram-v2
    [*] --> CaskInstall: brew install --cask app
    CaskInstall --> CodeSignCheck: コード署名確認
    CodeSignCheck --> GatekeeperCheck: Gatekeeper 検証
    GatekeeperCheck --> Success: 検証成功
    GatekeeperCheck --> Failure: 検証失敗
    Success --> [*]
    Failure --> Error: インストール拒否<br/>(2026年9月以降)
    Error --> [*]

Intel サポートの段階的廃止

Apple Silicon への完全移行を見据え、Intel x86_64 のサポートが段階的に縮小されます。

  • 2026 年 9 月以降:Intel x86_64 は Tier 3(コミュニティサポート)へ移行
  • 2027 年 9 月以降:Intel 対応の完全終了予定

この計画により、Homebrew は ARM64 アーキテクチャに最適化されたパッケージマネージャーとして進化していくことになります。

Homebrew 4.3.0 のセキュリティ機能

5.0.0 に先立ってリリースされた 4.3.0 でも、重要なセキュリティ機能が追加されました。

SBOM(Software Bill of Materials)サポート

brew bottle コマンドが SPDX 形式の SBOM ファイルをボトル内に含めるようになりました。

bash# ボトルを作成(SBOM が自動的に含まれる)
brew bottle my-formula

SBOM により、パッケージに含まれるコンポーネントの詳細情報が記録され、サプライチェーン攻撃のリスク管理が容易になります。

ボトル証明検証(ベータ版)

環境変数 HOMEBREW_VERIFY_ATTESTATIONS を設定することで、インストール時にボトルの真正性を検証できるようになりました。

bash# ボトル証明検証を有効化
export HOMEBREW_VERIFY_ATTESTATIONS=1

# パッケージをインストール(検証が自動実行される)
brew install wget

この機能は GitHub の gh CLI を使用して検証を行います。現在はベータ版ですが、将来的にはデフォルト機能となる見込みです。

自動削除機能のデフォルト化

HOMEBREW_AUTOREMOVE がデフォルトで有効化され、パッケージのアンインストール時に不要な依存関係も自動的に削除されるようになりました。

bash# パッケージをアンインストール
brew uninstall node

# 不要になった依存関係も自動削除される(5.0.0 以前は手動で brew autoremove が必要)

これにより、ディスク容量の無駄な消費を防ぎ、システムをクリーンに保てるようになりました。

具体例

Apple Silicon Mac への Homebrew インストール

Apple Silicon Mac(M1、M2、M3、M4)に Homebrew をインストールする手順をご紹介します。

ステップ 1:Homebrew のインストール

まず、公式インストールスクリプトを実行します。

bash# Homebrew インストールスクリプトを実行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストールは約 1.5 分で完了します(2021 Mac M1 Mini、100Mbps 接続の場合)。

ステップ 2:PATH の設定

Apple Silicon Mac では、Homebrew が ​/​opt​/​homebrew にインストールされるため、シェルの PATH 設定が必要です。

bash# zsh の場合(macOS デフォルト)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

bash を使用している場合は、以下のように設定します。

bash# bash の場合
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile
eval "$(/opt/homebrew/bin/brew shellenv)"

この設定により、Homebrew でインストールしたコマンドが優先的に使用されるようになります。

ステップ 3:インストールの確認

正しくインストールされたか確認しましょう。

bash# Homebrew のバージョン確認
brew --version

# 出力例:
# Homebrew 5.0.1
# Homebrew/homebrew-core (git revision 1234abc; last commit 2025-11-12)

正常にバージョンが表示されれば、インストール完了です。

並列ダウンロードのパフォーマンス比較

Homebrew 5.0.0 の並列ダウンロード機能により、どれほど高速化されるか比較してみましょう。

テスト環境

  • マシン:MacBook Pro (M3 Pro、2024 年)
  • 接続:1Gbps 光回線
  • テストケース:Node.js、Python、PostgreSQL を同時インストール

従来の逐次ダウンロード(Homebrew 4.x)

bash# 並列ダウンロードを無効化
export HOMEBREW_DOWNLOAD_CONCURRENCY=1

# 時間計測
time brew install node python postgresql

結果:約 3 分 45 秒

並列ダウンロード(Homebrew 5.0.0)

bash# デフォルトで並列ダウンロードが有効
time brew install node python postgresql

結果:約 1 分 20 秒

約 64% の時間短縮を実現しました。CI/CD パイプラインでは、この差がさらに顕著になります。

SBOM を活用したセキュリティ管理

企業環境では、使用しているソフトウェアコンポーネントの管理が重要です。Homebrew 4.3.0 以降の SBOM 機能を活用する例をご紹介します。

SBOM の抽出

bash# パッケージをインストール
brew install curl

# パッケージの情報を確認
brew info curl --json

出力される JSON には、SBOM 情報が含まれています。

json{
  "name": "curl",
  "full_name": "curl",
  "tap": "homebrew/core",
  "version": "8.5.0",
  "desc": "Get a file from an HTTP, HTTPS or FTP server",
  "license": "curl",
  "homepage": "https://curl.se",
  "urls": {
    "stable": {
      "url": "https://curl.se/download/curl-8.5.0.tar.bz2",
      "tag": null,
      "revision": null
    }
  },
  "dependencies": [
    "brotli",
    "libidn2",
    "libnghttp2",
    "libssh2",
    "openssl@3",
    "zstd"
  ]
}

この情報を基に、依存関係を追跡し、脆弱性管理を行えます。

依存関係の可視化

bash# 依存関係をツリー表示
brew deps --tree curl

出力例:

graphqlcurl
├── brotli
├── libidn2
│   ├── gettext
│   └── libunistring
├── libnghttp2
├── libssh2
│   └── openssl@3
├── openssl@3
└── zstd
    ├── lz4
    └── xz

このツリーから、curl が依存しているすべてのコンポーネントを把握できます。脆弱性が発見された場合、影響範囲を迅速に特定できるでしょう。

ボトル証明検証の実践

本番環境でのパッケージインストールには、証明検証を有効化することをおすすめします。

検証機能の有効化

まず、GitHub CLI をインストールします。

bash# GitHub CLI のインストール
brew install gh

# GitHub にログイン
gh auth login

次に、証明検証を有効化します。

bash# 環境変数を設定
export HOMEBREW_VERIFY_ATTESTATIONS=1

# .zprofile または .bash_profile に追加して永続化
echo 'export HOMEBREW_VERIFY_ATTESTATIONS=1' >> ~/.zprofile

検証付きインストール

bash# パッケージをインストール(証明検証が自動実行される)
brew install jq

# 出力例:
# ==> Downloading https://ghcr.io/v2/homebrew/core/jq/manifests/1.7.1
# ==> Verifying bottle attestation for jq
# ✓ Attestation verified successfully
# ==> Downloading https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:abc123...
# ==> Pouring jq--1.7.1.arm64_ventura.bottle.tar.gz

検証に成功すると、「Attestation verified successfully」と表示されます。

万が一、検証に失敗した場合は、改ざんされた可能性があるため、インストールが中止されます。

bash# 検証失敗の例
# Error: Bottle attestation verification failed for jq
# The bottle may have been tampered with.

この機能により、サプライチェーン攻撃から保護できます。

複数バージョンの管理

開発プロジェクトによっては、異なるバージョンのツールが必要な場合があります。Homebrew でバージョンを管理する方法をご紹介します。

特定バージョンのインストール

bash# 最新版をインストール
brew install node

# 複数バージョンを共存させる場合は @version を指定
brew install node@18
brew install node@20

バージョンの切り替え

bash# 現在のリンクを確認
brew list --versions node

# 出力例:
# node 21.5.0 20.10.0 18.19.0

# 使用するバージョンを切り替え
brew unlink node
brew link node@20

# 確認
node --version
# v20.10.0

プロジェクトごとにバージョンを切り替えることで、互換性の問題を回避できます。

自動バージョン管理(推奨)

より柔軟なバージョン管理には、asdfnodenv などのバージョン管理ツールと組み合わせるのがおすすめです。

bash# asdf をインストール
brew install asdf

# Node.js プラグインを追加
asdf plugin add nodejs

# 特定バージョンをインストール
asdf install nodejs 20.10.0
asdf install nodejs 18.19.0

# プロジェクトごとにバージョンを指定(.tool-versions ファイルを作成)
echo "nodejs 20.10.0" > .tool-versions

# 自動的に指定バージョンが使用される
node --version
# v20.10.0

この方法により、プロジェクトディレクトリに入るだけで自動的に適切なバージョンが選択されます。

Bundle ファイルによる環境構築の自動化

チーム開発では、すべてのメンバーが同じ開発環境を構築する必要があります。Homebrew Bundle を活用すると、この作業を自動化できます。

Brewfile の作成

まず、現在の環境をエクスポートします。

bash# 現在インストールされているパッケージを Brewfile に出力
brew bundle dump --file=~/Brewfile

生成された Brewfile の例:

ruby# Brewfile
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"

# CLI ツール
brew "git"
brew "node"
brew "python@3.11"
brew "postgresql@15"
brew "redis"
brew "yarn"

# GUI アプリケーション
cask "visual-studio-code"
cask "docker"
cask "google-chrome"
cask "slack"

# VS Code 拡張機能(5.0.0 の新機能)
vscode "dbaeumer.vscode-eslint"
vscode "esbenp.prettier-vscode"

Homebrew 5.0.0 では、brew bundle が VS Code 拡張機能にも対応しました。

環境の構築

新しいマシンやチームメンバーは、Brewfile を使って環境を構築できます。

bash# Brewfile からインストール
brew bundle install --file=~/Brewfile

# インストール済みかチェック
brew bundle check --file=~/Brewfile

これにより、環境構築の時間が大幅に短縮され、設定ミスも防げるでしょう。

Git リポジトリでの管理

Brewfile をプロジェクトリポジトリで管理すると、さらに便利です。

bash# プロジェクトルートに Brewfile を配置
cd ~/my-project
brew bundle dump

# Git で管理
git add Brewfile
git commit -m "Add Brewfile for development environment"
git push

新しいメンバーは、以下のコマンドで環境を構築できます。

bash# リポジトリをクローン
git clone https://github.com/myteam/my-project.git
cd my-project

# 開発環境を構築
brew bundle install

シンプルで再現性の高い環境構築が実現されます。

まとめ

Homebrew 5.0.0 は、Apple Silicon 時代のパッケージ管理において重要なマイルストーンとなりました。並列ダウンロードによる高速化、Linux ARM64 の正式サポート、そしてセキュリティ機能の大幅な強化により、開発者体験が飛躍的に向上しています。

本記事で紹介した主要なポイントをまとめます。

パフォーマンスの向上

  • 並列ダウンロードのデフォルト化により、インストール時間を約 64% 短縮
  • Apple Silicon ネイティブ対応による最適なパフォーマンス
  • Linux ARM64 の Tier 1 サポートでクラウド環境も快適に

セキュリティの強化

  • Gatekeeper バイパスの廃止で macOS セキュリティ機能を確実に適用
  • コード署名の必須化(2026 年 9 月完全実施)
  • SBOM サポートによるサプライチェーン管理
  • ボトル証明検証(ベータ版)で改ざん検知

開発体験の改善

  • 自動削除機能でシステムをクリーンに保つ
  • Bundle ファイルによる環境構築の自動化
  • VS Code 拡張機能のサポート
  • 複数バージョン管理の柔軟性

今後の展望

  • 2026 年 9 月:Intel x86_64 が Tier 3 へ移行
  • 2027 年 9 月:Intel 対応の完全終了予定
  • ARM64 アーキテクチャに最適化された次世代パッケージマネージャーへ進化

Apple Silicon Mac をお使いの方は、ぜひ最新の Homebrew 5.0.0 にアップグレードして、これらの新機能を体験してみてください。既存の Intel Mac をお使いの方も、移行計画を見据えて最新動向をチェックしておくことをおすすめします。

Homebrew は今後も継続的に進化し続けるでしょう。定期的に公式ブログやリリースノートを確認し、最新の機能やセキュリティアップデートを活用していきましょう。

関連リンク