ここ最近、いろんなパッケージマネジャーを試しているので忘備録的に。
パッケージマネジャー
Homebrew
- 開発元: Homebrew Community
- 実装言語: Ruby(一部シェルスクリプト)
- コミュニティ活発さ: ★★★★★(非常に活発)
- GitHub Stars ~40k以上
- Macユーザー標準的ツールとして長年利用されており、毎日のPR/Issueも膨大
- 大企業やOSS開発者が日常的に利用
uv
- 開発元: Astral
- 実装言語: Rust
- コミュニティ活発さ: ★★★★(急成長中)
- GitHub公開は2023〜2024年ごろと比較的新しい
- Python界隈で急速に注目度が高まっており、ruff人気に伴ってユーザー増加
- Issue/PRも増えており、PyPI周りでの採用事例が増えている
Pixi
- 開発元: prefix.dev
- 実装言語: Rust
- コミュニティ活発さ: ★★★(成長期)
- Condaの改良版として研究者・データサイエンス系に注目されている
- GitHubで活発に開発中だが、ユーザーベースはまだ拡大途上
- Conda Forgeコミュニティとも連携しつつ存在感を出し始めている
Devbox
- 開発元: Jetify
- 実装言語: Go(CLI)、Nix(バックエンド)
- コミュニティ活発さ: ★★★(安定的)
- Nixユーザー層の一部を取り込みつつ、GitHub開発は着実に進行
- 開発者フレンドリーな「Nixフロントエンド」として注目
- ユーザー層は限定的だが、チーム開発やCI/CD利用でじわじわ浸透
パッケージマネジャー比較表
項目 | Homebrew | uv | Pixi | Devbox |
---|---|---|---|---|
主用途 | システム/ CLI/GUI |
Python専用 (Pip系) |
Python中心 (Conda系) |
言語横断的 (Nix系) |
再現性 | 低~中 | 中 | 高 | 非常に高 |
学習コスト | 低 | 低 | 中 | 高 |
速度 | 高 | 最高 | 中~高 | 中 (Nix解決は重めも) |
OS | macOS 一部Linux |
全OS | 全OS | 主に macOS/Linux (WinはWSLが安定) |
配布 | △(別途管理) | △(Pythonのみ) | ◎ | ○ |
代表的なコマンド比較表
用途 | Homebrew | uv | Pixi | Devbox |
---|---|---|---|---|
仮想環境作成 (ディレクトリ中で) |
なし |
uv init → uv venv
|
pixi init |
devbox init |
環境アクティベート/ デアクティベート |
なし |
source .venv/bin/activate / deactivate
|
pixi shell / exit
|
devbox shell / exit
|
環境確認 | なし | なし | pixi info |
devbox info |
環境記述ファイル |
Brewfile ( brew bundle dump で作成) |
pyproject.toml (init で自動作成) |
pixi.toml (init で自動作成) |
devbox.json (init で自動作成) |
環境再現 | brew bundle install |
uv sync |
pixi install |
devbox install |
環境削除 | 下記リンク参照 | rm -rf .venv |
rm -rf .pixi |
rm -rf .devbox |
パッケージインストール | brew install <pkg> |
uv pip install <pkg> または uv add <pkg> (依存関係も同時に追加) |
pixi add <pkg> |
devbox add <pkg> |
パッケージ アンインストール |
brew uninstall <pkg> |
uv pip uninstall <pkg> |
pixi remove <pkg> |
devbox rm <pkg> |
パッケージ アップデート |
brew update → brew upgrade
|
uv pip install -U <pkg> |
pixi update |
devbox update |
依存関係 追加/削除 |
なし |
uv add <pkg> /uv remove <pkg>
|
自動 | 自動 |
パッケージ 検索 |
brew search <pkg> |
なし | pixi search <pkg> |
devbox search <pkg> |
パッケージ 情報確認 |
brew info <pkg> |
uv pip show <pkg> |
なし | devbox info <pkg> |
パッケージ リスト確認 |
brew list |
uv pip list |
pixi list (バージョン情報含) |
devbox list |
Homebrewのアンインストール
注意点
- Homebrewでは、パッケージのインストール場所が
/opt/homebrew/
以下であり、ライブラリ一般的に想定されている場所ではないので、Homebrew外でのコンパイル時にトラブルことがある。 -
pip search <pkg>
は廃止されている(PyPI側の問題)。uvにsearch
コマンドは実装されていない。 - PixiとDevboxでは、
shell
コマンドで仮想環境に入るとwarpなどAIターミナルのAI機能が使えなくなる。 - Devboxは、何事も初回は遅い。キャッシュ作成後は、そこそこ速い。
参考