パッケージ管理システム
主なプログラミング言語向け
Ruby
- RubyGems: Rubyの標準的なパッケージ管理システム。gemという単位でライブラリを配布・管理し、依存関係の解決やインストールが容易。コマンドラインからの操作がシンプル。
Python
- pip: Python公式のパッケージインストーラ。シンプルで導入が容易。requirements.txtによる依存管理が可能だが、厳密な再現性やロックファイル機能は標準では持たない。小規模・個人開発向き。
- Poetry: 依存関係の厳密な管理、仮想環境の自動生成、パッケージのビルド・公開まで一貫して対応。pyproject.tomlで管理し、ロックファイルによる再現性保証が強い。中〜大規模・チーム開発向き。
- Pipenv: Pipfileによる依存管理と仮想環境の統合管理が特徴。Poetryほど多機能ではないが、pipより再現性が高い。
C# / .NET
- NuGet: .NET系の標準パッケージ管理システム。Visual Studio等と統合されており、GUI・CLIどちらでも操作可能。依存関係の自動解決やバージョン管理も行う。
Java
- Maven: XMLベースの設定ファイル(pom.xml)で依存関係やビルド設定を管理。標準的なビルドツールとしても機能し、大規模プロジェクトでよく使われる。
- Gradle: GroovyやKotlin DSLを使った柔軟なビルド・依存管理ツール。Mavenより記述が簡潔で、ビルド速度が速い。
JavaScript
- npm: Node.js公式のパッケージ管理システム。package.jsonで依存関係を管理し、世界最大規模のパッケージエコシステムを持つ。
- Yarn: npm互換で高速なインストールや厳密なロックファイル(yarn.lock)による再現性が特徴。
- pnpm: ディスク容量の効率化と高速なインストールが特徴。npm/yarnのロックファイルもサポート。
PHP
- Composer: PHPの標準的なパッケージ管理システム。composer.jsonで依存関係を管理し、オートローダも自動生成。
Perl
- CPAN: なつかしい
Rust
- Cargo: Rust公式のパッケージ管理・ビルドツール。Cargo.tomlで依存管理し、ビルド・テスト・公開まで一貫して対応。
Go
- Go Modules: go.modで依存関係を管理。バージョン管理や再現性の高いビルドが可能。
Dart
- pub: Dart公式のパッケージ管理システム。pubspec.yamlで依存関係を管理。
Swift
- Swift Package Manager: Swift公式のパッケージ管理・ビルドツール。Package.swiftで依存関係を管理し、Xcodeとも統合。