Composer is a package manager tracking local dependencies of your projects and libraries.
See the about page on packagist.org for more information.
-
Download the
composer.phar
executable or use the installer.$ curl -s http://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.
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:
php composer.phar install
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 http://getcomposer.org/installer | php
- Make the phar executeable
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
Installing via this homebrew formula will always get you the latest composer version.
- run
brew uninstall composer ; brew install --HEAD https://raw.github.com/gist/1574469/composer.rb
- Change into a project directory
cd /path/to/my/project
- Use composer as you normally would
composer.phar install
You will see a warning "Warning: Cannot verify package integrity"; however, this is benign and expected.
Running php composer.phar self-update
or equivalent will update a phar
install with the latest version.
Additional options for composer can be configured in composer.json
by using the config
section.
{
"config": {
"vendor-dir": "custom/path/for/vendor"
}
}
vendor-dir
: The location to install vendor packages. The location can be supplied as an absolute or relative path but must be within the current working directory.
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.
The developer mailing list is on google groups IRC channels are available for discussion as well, on irc.freenode.org #composer for users and #composer-dev for development.
PHP 5.3+
Nils Adermann - [email protected] - http://twitter.com/naderman - http://www.naderman.de
Jordi Boggiano - [email protected] - http://twitter.com/seldaek - http://seld.be
See also the list of contributors who participated in this project.
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.