Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Dependency Manager for PHP

Subscribe to updates I use composer

Statistics on composer

Number of watchers on Github 13341
Number of open issues 347
Average time to close an issue 2 days
Main language PHP
Average time to merge a PR 3 days
Open pull requests 160+
Closed pull requests 152+
Last commit almost 2 years ago
Repo Created over 8 years ago
Repo Last Updated almost 2 years ago
Size 12.3 MB
Homepage https://getcompos...
Organization / Authorcomposer
Latest Release1.6.3
Page Updated
Do you use composer? Leave a review!
View open issues (347)
View composer activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating composer for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Composer - Dependency Management for PHP

Composer helps you declare, manage, and install dependencies of PHP projects.

See for more information and documentation.

Build Status Dependency Status Reference Status

Installation / Usage

Download and install Composer by following the official instructions.

For usage, see the documentation.


Find packages on Packagist.


IRC channels are on #composer for users and #composer-dev for development.

For support, Stack Overflow also offers a good collection of Composer related questions.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project and its community you agree to abide by those terms.


PHP 5.3.2 or above (at least 5.3.4 recommended to avoid potential bugs)


See also the list of contributors who participated in this project.

Security Reports

Please send any sensitive issue to Thanks!


Composer is licensed under the MIT License - see the LICENSE file for details


  • This project's Solver started out as a PHP port of openSUSE's Libzypp satsolver.
  • This project uses hiddeninput.exe to prompt for passwords on windows, sources and details can be found on the github page of the project.
composer open issues Ask a question     (View All Issues)
  • over 3 years PHP Fatal Error : Out Of Memory Windows 10
  • over 3 years Ambiguous class resolution is different between default and optimized autoloader-creation
  • over 3 years Running WP-CLI Commands From Composer
  • over 3 years clearcache command broken on Windows
  • over 3 years Ability to suppress progress output via environment variable
  • over 3 years Composer install doesn't work
  • over 3 years verifying Certificate is failing
  • over 3 years Composer Install generates many php Module already loaded warnings php 7.1
  • over 3 years Set Environment Variable When `no-dev` option is passed
  • over 3 years Download from github private repo broken
  • over 3 years extend `composer depends` to work with "vendor-name/*"
  • over 3 years Unable to add extra installer paths through command line.
  • over 3 years Integration with Bitbucket, Gitlab for create-project
  • over 3 years Composer doesn't see all installed PHP extensions
  • over 3 years Create event before VCS clone
  • over 3 years Prevent authentication store
  • over 3 years GitExcludeFilter is not conforming with gitignore spec
  • over 3 years [feature request] a link to github comparison on `outdated` command
  • over 3 years error coded zendguard 7
  • over 3 years Using composer programatically to resolve a class with autoloading
  • over 3 years GitLab authentication require to public repository
  • over 3 years Global config option to disable plugins and scripts
  • over 3 years Unable to download & install laravel with composer
  • over 3 years Composer gets installed but doesn't work (behind a proxy)
  • over 3 years Some command does not work when a plugin add a custom repository
  • over 3 years "composer require" and "composer require --dev" do not honor composer.json settings
  • over 3 years GitLab authentication doesn't work with 2FA enabled in GitLab 8.11+
  • over 3 years does not install because of requirements could not be resolved.
  • over 3 years Composer repository for dynamic packages receives no param for searched package?
  • over 3 years composer update and composer require fail on macOS
composer open pull requests (View All Pulls)
  • Rewrote DependsCommand
  • Added secure-http flag, defaults to true
  • Be sure that configuration file can be manipulated by actual user
  • Add `composer exec` command
  • Keep empty folders after re-zip a module
  • Rewrote SuggestsCommand
  • skip diag. which are only for phar mode
  • Document IPv6 workarounds. Fixes #4748.
  • Sometimes redirects behind proxys fails
  • createPackage() method should use the $class argument it accepts
  • make root server file url configurable
  • Speed git downloads by using cache dir as reference
  • Added new command - outdated
  • add support for config inheritance
  • Refs #4200, add --repository-url to init command
  • [WIP] RepositorySet / Pool Split & Load only explicitly referenced package data
  • Try to symlinks on Windows systems, too
  • Add support for overriding the archive filename
  • Allow Installers to determine installation support based on entire pa…
  • Add support to interactive scripts defined in composer.json
  • Concurrent git clone and downloads with React
  • draft support for Pickle in Composer
  • Fix for #3791
  • Allow Composer to use the Opcache function opcache_is_script_cached.
  • add support for package based install type preferences
  • initial support for checking version states implement git driver
  • Improve status for unpushed branches
  • Remove authentication credentials from git config file
  • Updated satis archive documentation
  • Add the ability to show and confirm changes before doing them.
  • Removed inefficiency in the autoloader generation
  • Also clean backups if no Composer update actually performed
  • Attempt to use shallow clones, fixes #3449
  • Add direct downld as alternative to api
  • WIP - Allow plugins to register commands
  • Added Progress Output
  • [WIP] Progress Tracker
  • [WIP] Extension installer
  • [WIP] Developer Package Signing
  • Curl transfer
  • Autoload generator refactor
  • Added API for an install path in installable repository
  • added new command for changing property settings
  • Update
  • trim trailing slash from symlink names
  • Code quality
  • Strict type checks of null and bool comparisons
  • Fix config unset for bitbucket oauth
  • Implementation of array for `repositories.tags-path` and `repositories.branches-path`
  • Add support for empty CommonName in a certificate for php <5.6
  • Fail download on content-length mismatch
  • Re-install binaries on update/install
  • Add latest version to show + Deprecated message
  • Add latest version to show command (option)
  • Parallel downloader
  • Status command
  • Added cURL support as a Driver
  • Fix: Do not suggest to avoid exact version constraints for unstable package
  • Fix for a fatal error when system temp dir is not available
  • Update bitbucket oauth instructions
  • Output version changes in StatusCommand when possible
  • [Archive] exclude option in composer.json accepts files
  • Updated the version
  • IPv6 Platform Requirement
  • Faster git clones using cache
  • Warn users more strongly when running as root, fixes #5382
  • All bitbucket (https) communication with OAuth
  • ISSUE 3568 Show downloading package speed
  • Check headers for missing scopes before asking for new OAuth token
  • New getters & setters for RootPackage
  • Pass devMode from RunScriptCommand to Script\Event
  • Added test for 'dump' method of ClassMapGenerator class
  • Fix realpath() failing on Windows.
  • relative path support at providers-url of repo and dist url of package
  • add a fixture for github issue #5505
  • Urlencode Gitlab project names
  • Support gitlab private-token for easier access via Gitlab API
  • update help page on global for COMPOSER_HOME info
  • Cleanup processes output handling
  • Add --apcu option to enable APCu caching of found/not-found classes
  • Added minor-only option to show command to only show packages with minor updates
  • Update Xdebug instructions in
  • Add support for seamless execution of local binaries
  • Adds --no-suggest to RequireCommand
  • require-dev package repository options get copied into composer.lock (fix for #5600)
  • Use https url of the repository instead of ssh given gitlab project is public
  • Restart with xdebug disabled
  • Suggest lock update only
  • bring arraydumper in line with json schema spec and packagist
  • HgDriver does not identify bitbucket mercurial repos correctly
  • Warn about possible retag of version
  • Allow optionally disabling the static autoloader
  • Fix crash when listing root package without versions
  • add check for non-strings in VersionParser
  • [WIP] Default composer init settings
  • Speed up git checkout by skipping fetch
  • fixed direct rename() usage for v1.2
  • Make a named repository definition leading/immutable
  • Issue 5769 dev mode varaible
  • Improve installer extensibility
  • Fixing local file VCS URLs with encoded characters

  • tentative fix for #5917
  • Non-zero status code when there are outdated packages (fixes #5901)
  • Permanent swap file tutorial proposed
  • use array as default value
  • Support for class aliases
  • Trying to fix the new setExecuteOperations() on the installer
  • Add ignore filters option to archive command
  • Work-around for Windows opcache bug, fixes #6052
  • Preserve command line ini settings for restart
  • Added possibility to include the VCS directories when creating dist package
  • #5716 - Add new PluginEvents: for pre/post file/vcs downloads
  • relative path is allowed for `mirror.dist-url`
  • Do not use realpath() with exclude-from-classmap
  • Forward GitLab driver options to remote filesystem
  • Revert "Fixed an issue when a phar file is used in "files" option in composer.json"
  • Auto-skip interactive require when set by option.
  • support for gitlab subgroups, closes #6349
  • Move all plugins and their dependencies to the front
  • Add warning for identical names with different capitalization when zip archive extract failure
  • Improve memory usage a little by not creating new Link objects
  • Test case for #6131
  • Add fix for incorrect encoding in getcwd() result with non-latin chars on Windows
  • Teolaz1990 doc patch
  • b4997f27
  • Fix: Remove unused parameter and field
  • Add PHPUnit 6 support
  • Proposed event on SolverProblemsException with power to trigger re-run.
  • adds 2 steps install script for windows users
  • add gitlab-dist-format option
  • Teach fossil to use HTTP Basic and Fossil built-in authentication
  • fix gitlab repo config in composer.lock
  • Fix permissions when using the PearBinaryInstaller
  • Lock _readme: remove outdated hashtag link part
  • LocalChanges for ArchiveFiles
  • Fix for #7086
  • Optimize
  • Improve assertions
  • Fix RemoteFilesystem::getRemoteContents() on-failure behavior
  • Require zlib explicitly
  • Add abandoned property in composer schema documentation
  • Add option "no-secure-http" for create-project
  • Fix for #7125: Allowing to use fossil dependency in a fossil repository
  • Added space to concatenation
  • Update
  • Wording:Use Downgrading instead of Updating
  • Fix #7106 ConsoleIO::select for a single option
  • Use string instead of array when loading bin files
  • Fix: Keep rules sorted
  • Use external XdebugHandler library
  • added blackfire captured metrics for subprocesses
  • Fix: Add type field to schema for inline-package
  • Take only displayed packages into account to determine column width
  • Fix run-script -l
  • make sure we only cache resources which contain a svn revision
  • document the COMPOSER_MEMORY_LIMIT env var
  • properly cache when a branch in a certain revision does not contain a…
  • perf improvement: refactored "svn --version" calls into a single place
  • Remove the word "just" from documentation
  • Update - Fix typo
composer questions on Stackoverflow (View All Questions)
  • How to override composer repository source?
  • I can't install composer on mac os x
  • GitLab-CI Multi Runner php composer cache
  • PHP composer installation is giving error "??+?"
  • How to work around ubuntu php version for composer update
  • I have ext-fileinfo but Composer says it is missing
  • Ionic Framework + Composer?
  • Is it possible to tell composer to always choose lower package version, when there are more then one matching requiremnets
  • How to run Composer on Homestead?
  • installing cakephp 3 manually, without composer
  • How to install Zend Framework 2 Tool with composer
  • Unit tests in phalcon without composer
  • What is the difference between composer update and composer install?
  • Call media library in visual composer plugin
  • Composer take too long tu update/install Symfony project (on Windows 10)
  • Making Composer and Git work together
  • Composer constantly freezes when upgrading to Ubuntu 14.04
  • Use Composer module in PHP file
  • having trouble installing composer
  • error when run "composer install"
  • Composer install / GitHub token & API rate limits
  • How can I find which version of PHP is used by Composer?
  • Class not found with Composer autoload and PSR-0
  • php artisan optimize times out only on composer install
  • Which is the minimum version of git to run composer?
  • FTP request from composer
  • how to install php-jwt, how is composer helpful
  • Sending a POST request from Node.js to CC3200 using Code Composer
  • Unable to udpate composer, getting Deprecation Notice
  • How to install vendor bundle WITHOUT composer (corporate network)
composer list of languages used
composer latest release notes
1.6.3 1.6.3
  • Fixed GitLab downloads failing in some edge cases
  • Fixed ctrl-C handling during create-project
  • Fixed GitHub VCS repositories not prompting for a token in some conditions
  • Fixed SPDX license identifiers being case sensitive
  • Fixed and clarified a few dependency resolution error reporting strings
  • Fixed SVN commit log fetching in verbose mode when using private repositories
1.6.2 1.6.2
  • Fixed more autoloader regressions
  • Fixed support for updating dist refs in gitlab URLs
1.6.1 1.6.1
  • Fixed upgrade regression due to some autoloader cleanups
  • Fixed some overly loose version constraints
Other projects in PHP