ここ最近、いろんなパッケージマネジャーを試しているので忘備録的に。
パッケージマネジャー
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は、何事も初回は遅い。キャッシュ作成後は、そこそこ速い。
参考