パッケージ管理システム

2025年6月19日 (木) 02:48時点におけるAdministrator (トーク | 投稿記録)による版

主なプログラミング言語向け

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とも統合。