2011-04-05 15:36:01 +00:00
Composer - Package Management for PHP
=====================================
2011-10-02 21:38:27 +00:00
Composer is a package manager tracking local dependencies of your projects and libraries.
2011-04-05 15:36:01 +00:00
2011-10-02 21:38:27 +00:00
See the [about page ](http://packagist.org/about ) on [packagist.org ](http://packagist.org/ ) for more information.
2011-11-16 12:54:17 +00:00
[![Build Status ](https://secure.travis-ci.org/composer/composer.png )](http://travis-ci.org/composer/composer)
2011-10-02 21:38:27 +00:00
Installation / Usage
--------------------
2011-10-23 17:39:49 +00:00
1. Download the [`composer.phar` ](http://getcomposer.org/composer.phar ) executable
2011-10-03 08:49:23 +00:00
2. Create a composer.json defining your dependencies. Note that this example is
2011-10-02 21:38:27 +00:00
a short version for applications that are not meant to be published as packages
themselves. To create libraries/packages please read the [guidelines ](http://packagist.org/about ).
``` json
{
"require": {
"monolog/monolog": ">=1.0.0"
}
}
```
2011-11-20 21:02:22 +00:00
2011-10-03 08:49:23 +00:00
3. Run Composer: `php composer.phar install`
4. Browse for more packages on [Packagist ](http://packagist.org ).
2011-04-05 15:36:01 +00:00
2011-11-04 10:24:03 +00:00
Installation from Source
------------------------
To run tests, or develop Composer itself, you must use the sources and not the phar
file as described above.
1. Run `git clone https://github.com/composer/composer.git`
2. Download the [`composer.phar` ](http://getcomposer.org/composer.phar ) executable
3. Run Composer to get the dependencies: `php composer.phar install`
2012-01-08 17:14:50 +00:00
Global installation of composer (manual)
----------------------------------------
2011-11-04 10:55:08 +00:00
Since composer works with the current working directory it is possible to install it
in a system wide way.
1. Change into a directory in your path like `cd /usr/local/bin`
2. Get composer `wget http://getcomposer.org/composer.phar`
3. Make the phar executeable `chmod a+x composer.phar`
3. Change into a project directory `cd /path/to/my/project`
4. Use composer as you normally would `composer.phar install`
2012-01-07 11:35:23 +00:00
Global installation of composer (via homebrew)
----------------------------------------------
2012-01-07 20:52:22 +00:00
Installing via this homebrew formula will always get you the latest composer version.
2012-01-07 11:35:23 +00:00
2012-01-07 20:52:22 +00:00
1. run `brew uninstall composer ; brew install https://raw.github.com/gist/1574469/composer.rb`
2012-01-07 11:35:23 +00:00
2. Change into a project directory `cd /path/to/my/project`
3. Use composer as you normally would `composer.phar install`
2012-01-08 17:14:50 +00:00
*You will see a warning "Warning: Cannot verify package integrity"; however,
this is benign and expected.*
2012-01-07 20:52:22 +00:00
2012-01-08 17:14:50 +00:00
Updating composer
-----------------
2012-01-07 20:52:22 +00:00
2012-01-08 17:14:50 +00:00
Running `php composer.phar self-update` or equivalent will update a phar
install with the latest version.
2012-01-07 20:52:22 +00:00
2011-11-15 20:46:41 +00:00
Configuration
-------------
2011-11-20 21:02:22 +00:00
Additional options for composer can be configured in `composer.json` by using the `config` section.
2011-11-15 20:46:41 +00:00
``` json
{
"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.
2011-10-23 17:39:49 +00:00
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.
2011-04-05 15:36:01 +00:00
Requirements
------------
2011-10-02 21:38:27 +00:00
PHP 5.3+
Authors
-------
2011-04-05 15:36:01 +00:00
Nils Adermann - < naderman @ naderman . de > - < http: / / twitter . com / naderman > - < http: / / www . naderman . de > < br / >
2011-04-16 12:42:35 +00:00
Jordi Boggiano - < j.boggiano @ seld . be > - < http: / / twitter . com / seldaek > - < http: / / seld . be > < br / >
2011-06-28 18:37:31 +00:00
See also the list of [contributors ](https://github.com/composer/composer/contributors ) who participated in this project.
2011-04-05 15:36:01 +00:00
License
-------
Composer is licensed under the MIT License - see the LICENSE file for details
2011-10-23 17:39:49 +00:00
Acknowledgments
---------------
2011-10-02 21:38:27 +00:00
This project's Solver started out as a PHP port of openSUSE's [Libzypp satsolver ](http://en.opensuse.org/openSUSE:Libzypp_satsolver ).