# composer/composer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/composer-composer).**

29,317 stars · 4,748 forks · PHP · mit

## Links

- GitHub: https://github.com/composer/composer
- Homepage: https://getcomposer.org/
- awesome-repositories: https://awesome-repositories.com/repository/composer-composer.md

## Topics

`composer` `dependency-manager` `package-manager` `packages` `php`

## Description

Composer is a command-line dependency management tool for PHP that automates the process of resolving, downloading, and installing external code libraries. It functions by evaluating version constraints defined in a project's configuration file to calculate a compatible dependency tree, ensuring that applications maintain consistent behavior across different development and production environments.

The tool utilizes a structured manifest file as the single source of truth for project requirements and generates a deterministic lock file to record the exact version and hash of every installed dependency. This mechanism ensures reproducible build environments by guaranteeing that every machine uses the identical set of software packages. The system also supports automated package lifecycles, allowing for the addition, update, and removal of components while maintaining a clear record of project state.

Beyond core dependency resolution, the software integrates into automated build pipelines to support containerized application deployment and provides mechanisms for resolving version mismatches. It includes features for managing network proxy configurations and offers an extension architecture that allows third-party code to hook into the installation lifecycle.

## Tags

### Development Tools & Productivity

- [Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers.md) — Automates the installation, versioning, and resolution of external PHP libraries to ensure consistent environment builds.
- [Dependency Management Tools](https://awesome-repositories.com/f/development-tools-productivity/dependency-management-tools.md) — Automates the addition, update, and removal of third-party code components while maintaining project requirement records.
- [Dependency Management Utilities](https://awesome-repositories.com/f/development-tools-productivity/dependency-management-utilities.md) — Generates deterministic lock files to ensure consistent package versions and reproducible builds across different development environments. ([source](https://getcomposer.org/doc/articles/resolving-merge-conflicts.md))
- [Dependency Resolvers](https://awesome-repositories.com/f/development-tools-productivity/dependency-resolvers.md) — Calculates compatible dependency trees by evaluating version constraints and requirements defined in project configuration files.
- [Reproducible Build Environments](https://awesome-repositories.com/f/development-tools-productivity/reproducible-build-environments.md) — Ensures consistent software builds across different environments to prevent deployment errors and configuration drift.

### Software Engineering & Architecture

- [Dependency Resolution Engines](https://awesome-repositories.com/f/software-engineering-architecture/dependency-resolution-engines.md) — Calculates the complete set of required packages by recursively traversing version constraints and resolving conflicts across the entire dependency tree.
- [Configuration Manifests](https://awesome-repositories.com/f/software-engineering-architecture/configuration-manifests.md) — Uses a structured JSON manifest as the central source of truth for project requirements and dependency management.

### DevOps & Infrastructure

- [Container Orchestration & Deployment](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-deployment.md) — Automates the creation and deployment of portable containerized software images for cloud environments.
- [Containerization Utilities](https://awesome-repositories.com/f/devops-infrastructure/containerization-utilities.md) — Facilitates consistent dependency management by enabling binary installation patterns within containerized build workflows. ([source](https://getcomposer.org/doc/00-intro.md))
