3.

プロジェクト管理(プログラム)

編集

当記事はプロジェクト管理のソフトウェア(プログラム)に関する記事です。ビルド管理、依存解決、パッケージング、リリース等、プログラム開発で必要となるプロジェクト管理ツールを扱います。

※グループウェアのプロジェクト管理ソフトウェアはこちら

子ページからソフトウェアを選択してください。

本ページの子ページ

  • maven — Javaの標準的なビルド・依存管理ツール

プログラム用プロジェクト管理ツールの種類

言語・対象主なツール
JavaMaven、Gradle、Ant
JavaScript / TypeScriptnpm、yarn、pnpm
PHPComposer
Pythonpip、poetry、pipenv、conda
RubyRubyGems、bundler
GoGo Modules(標準)
RustCargo(標準)
C/C++CMake、Meson、Conan、vcpkg
.NET / C#NuGet、MSBuild
iOSCocoaPods、Swift Package Manager、Carthage
AndroidGradle(Maven Central利用)

プロジェクト管理ツールが担う主な機能

  • 依存解決 — 必要なライブラリを自動でダウンロード・解決
  • ビルド — ソースから配布可能な成果物(.jar / .whl / .nupkg等)を生成
  • テスト実行 — ユニットテストを統合的に
  • パッケージ公開 — 公開リポジトリ(Maven Central / npm registry / PyPI 等)への登録
  • バージョン管理 — セマンティックバージョニング
  • CI/CD連携 — GitHub Actions / Jenkins 等

典型的なプロジェクト構成

言語設定ファイル名依存記述
Java (Maven)pom.xmlXML
Java (Gradle)build.gradle / build.gradle.ktsGroovy/Kotlin DSL
JavaScriptpackage.jsonJSON
PHPcomposer.jsonJSON
Pythonpyproject.toml / requirements.txtTOML / テキスト
RubyGemfileRuby DSL
Gogo.modGo固有形式
RustCargo.tomlTOML

選定の観点

  • 言語の標準慣習に従う(npmならpackage.json、Pythonならpip/poetry)
  • エコシステムの大きさ: パッケージ数、コミュニティ
  • ビルド速度・キャッシュ効率
  • CI/CDとの相性
  • モノレポ対応: pnpm、Yarn Workspaces、Bazel等
  • ロックファイル: 再現性のあるビルドのために必須

運用上のポイント

  • ロックファイル(package-lock.json、Gemfile.lock等)をコミットする
  • 依存ライブラリの脆弱性チェック: npm audit、composer audit等を定期実行
  • セマンティックバージョニング: ^1.2.3 等の指定範囲を理解する
  • private registryを使う場合は認証情報の管理に注意

関連

編集
Post Share
子ページ
  1. maven
同階層のページ
  1. 開発環境
  2. 仮想環境
  3. プロジェクト管理(プログラム)
  4. プロジェクト管理(グループウェア)
  5. ネットワーク
  6. バージョン管理
  7. Webサーバー / アプリケーションサーバー
  8. エミューレーター
  9. システム管理
  10. ゲームエンジン
  11. 3Dグラフィックス
  12. 学習・教育用ソフトウェア
  13. Webサイト作成
  14. シミュレーター
  15. Microsoft Office
  16. エディタ
  17. BIM
  18. Bluetooth
  19. ブラウザ
  20. その他