Composer - Dependency Management for PHP
Composer is a dependency manager tracking local dependencies of your projects and libraries.
See https://getcomposer.org/ for more information and documentation.
Installation / Usage
-
Download the
composer.phar
executable or use the installer.$ curl -s https://getcomposer.org/installer | php
-
Create a composer.json defining your dependencies. Note that this example is a short version for applications that are not meant to be published as packages themselves. To create libraries/packages please read the guidelines.
{ "require": { "monolog/monolog": ">=1.0.0" } }
-
Run Composer:
php composer.phar install
-
Browse for more packages on Packagist.
Installation from Source
To run tests, or develop Composer itself, you must use the sources and not the phar file as described above.
- Run
git clone https://github.com/composer/composer.git
- Download the
composer.phar
executable - Run Composer to get the dependencies:
cd composer && php ../composer.phar install
You can now run Composer by executing the bin/composer
script: php /path/to/composer/bin/composer
Global installation of Composer (manual)
Since Composer works with the current working directory it is possible to install it in a system wide way.
- Change into a directory in your path like
cd /usr/local/bin
- Get Composer
curl -s https://getcomposer.org/installer | php
- Make the phar executable
chmod a+x composer.phar
- Change into a project directory
cd /path/to/my/project
- Use Composer as you normally would
composer.phar install
- Optionally you can rename the composer.phar to composer to make it easier
Global installation of Composer (via homebrew)
Composer is part of the homebrew-php project.
- Tap the homebrew-php repository into your brew installation if you haven't done yet:
brew tap josegonzalez/homebrew-php
- Run
brew install josegonzalez/php/composer
. - Use Composer with the
composer
command.
Updating Composer
Running php composer.phar self-update
or equivalent will update a phar
install with the latest version.
Contributing
All code contributions - including those of people having commit access - must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.
Fork the project, create a feature branch, and send us a pull request.
To ensure a consistent code base, you should make sure the code follows the Coding Standards which we borrowed from Symfony.
If you would like to help take a look at the list of issues.
Community
Mailing lists for user support and development.
IRC channels are on irc.freenode.org: #composer for users and #composer-dev for development.
Stack Overflow has a growing collection of Composer related questions.
Requirements
PHP 5.3.2 or above (at least 5.3.4 recommended to avoid potential bugs)
Authors
Nils Adermann - naderman@naderman.de - http://twitter.com/naderman - http://www.naderman.de
Jordi Boggiano - j.boggiano@seld.be - http://twitter.com/seldaek - http://seld.be
See also the list of contributors who participated in this project.
License
Composer is licensed under the MIT License - see the LICENSE file for details
Acknowledgments
- 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.