created: 2025/07/19,
modified: 2025/07/26
パッケージ管理ツールは、ソフトウェア開発において依存関係のある外部ライブラリやツールを効率的に管理・インストール・更新・削除するためのシステムです。言語別やOS別に様々なツールが存在し、それぞれ特徴があります。
| 言語 | ツール名 | 特徴・概要 |
|---|---|---|
| JavaScript (Node.js) | npm | Node package manager。Node.jsに組み込まれた標準パッケージマネージャー。package.jsonで依存管理。npxでパッケージをローカルに保存せず実行可能。 |
| Yarn | FacebookとGoogleが共同開発。npmのセキュリティ上の問題を改善し、高速かつ安全。npm同様に依存管理可能だが、並行インストールによる高速処理が特徴。npmより別途インストールが必要。 | |
| pnpm | 効率重視で、グローバルストレージに一度パッケージを保存し重複インストールを回避。バージョン管理が重要。 | |
| PHP | Composer | PHPの依存管理ツール。外部ライブラリを管理し、バージョンや依存解決を自動で行う。 |
| Python | pip | Python標準のパッケージマネージャーで、PyPIからパッケージをインストール。 |
| venv | 仮想環境管理ツールで、プロジェクト毎に独立した環境を作成。 | |
| pyenv | 複数バージョンのPythonを管理可能。 | |
| Poetry | 依存関係と仮想環境管理を統合し、パッケージビルドや公開も容易。 | |
| Pipenv | Pipfileで依存管理し、仮想環境もコントロール。 | |
| Rye | パッケージ管理・仮想環境・バージョン管理を一つで完結できるツール。 | |
| Ruby | gem(RubyGems) | Rubyの標準パッケージ管理ツールで、多数のライブラリを簡単に管理可能。 |
| Rust | cargo | Rustのビルドおよびパッケージ管理ツール。依存解決とビルドを一括管理。 |
| OS | ツール名 | 特徴・概要 |
|---|---|---|
| Debian系Linux | apt / apt-get / dpkg | Debian系の標準パッケージ管理システム。システム・ソフトウェアのインストール・更新を行う。 |
| Mac | Homebrew | macOSの非公式パッケージ管理ツール。コマンドでアプリや環境構築を簡単に行える。 |
| MacPorts | Homebrewの競合として存在、オープンソースソフトウェアのインストールに特化。 | |
| Windows | Chocolatey | Windows向けの実績あるパッケージ管理ツール。コマンドラインで諸ソフトの管理が可能。 |
| Winget | Microsoft公式の最新パッケージ管理ツール。安全なリポジトリ運用やエンタープライズ対応に強み。 | |
| Scoop | 権限不要で開発ツールの導入に特化。GUI不要でシンプルに利用可能。 |
言語やOSの特性・開発スタイルに合わせて最適なパッケージ管理ツールを選ぶことが推奨されます