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
|
|
|
|
2012-04-12 07:55:42 +00:00
|
|
|
See [http://getcomposer.org/](http://getcomposer.org/) for more information and documentation.
|
2011-10-02 21:38:27 +00:00
|
|
|
|
2012-08-19 23:53:25 +00:00
|
|
|
[![Build Status](https://secure.travis-ci.org/composer/composer.png?branch=master)](http://travis-ci.org/composer/composer)
|
2011-11-16 12:54:17 +00:00
|
|
|
|
2011-10-02 21:38:27 +00:00
|
|
|
Installation / Usage
|
|
|
|
--------------------
|
|
|
|
|
2012-01-23 11:10:49 +00:00
|
|
|
1. Download the [`composer.phar`](http://getcomposer.org/composer.phar) executable or use the installer.
|
|
|
|
|
2012-02-14 14:31:05 +00:00
|
|
|
``` sh
|
2012-01-24 21:49:57 +00:00
|
|
|
$ curl -s http://getcomposer.org/installer | php
|
2012-02-14 14:31:05 +00:00
|
|
|
```
|
2012-01-23 11:10:49 +00:00
|
|
|
|
|
|
|
|
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
|
2012-06-10 16:48:33 +00:00
|
|
|
3. 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`
|
2011-11-04 10:24:03 +00:00
|
|
|
|
2012-04-12 07:55:42 +00:00
|
|
|
Global installation of Composer (manual)
|
2012-01-08 17:14:50 +00:00
|
|
|
----------------------------------------
|
2011-11-04 10:55:08 +00:00
|
|
|
|
2012-04-12 07:55:42 +00:00
|
|
|
Since Composer works with the current working directory it is possible to install it
|
2011-11-04 10:55:08 +00:00
|
|
|
in a system wide way.
|
|
|
|
|
|
|
|
1. Change into a directory in your path like `cd /usr/local/bin`
|
2012-04-12 07:55:42 +00:00
|
|
|
2. Get Composer `curl -s http://getcomposer.org/installer | php`
|
2012-06-20 21:15:54 +00:00
|
|
|
3. Make the phar executable `chmod a+x composer.phar`
|
2012-01-24 21:49:57 +00:00
|
|
|
4. Change into a project directory `cd /path/to/my/project`
|
2012-04-12 07:55:42 +00:00
|
|
|
5. Use Composer as you normally would `composer.phar install`
|
2012-01-24 21:49:57 +00:00
|
|
|
6. Optionally you can rename the composer.phar to composer to make it easier
|
2011-11-04 10:55:08 +00:00
|
|
|
|
2012-04-12 07:55:42 +00:00
|
|
|
Global installation of Composer (via homebrew)
|
2012-01-07 11:35:23 +00:00
|
|
|
----------------------------------------------
|
|
|
|
|
2012-05-17 14:06:57 +00:00
|
|
|
Composer is part of the homebrew-php project.
|
2012-01-07 11:35:23 +00:00
|
|
|
|
2012-05-17 14:06:57 +00:00
|
|
|
1. Tap the homebrew-php repository into your brew installation if you haven't done yet: `brew tap josegonzalez/homebrew-php`
|
2012-05-23 14:08:37 +00:00
|
|
|
2. Run `brew install josegonzalez/php/composer`.
|
2012-05-17 14:06:57 +00:00
|
|
|
3. Use Composer with the `composer` command.
|
2012-01-07 20:52:22 +00:00
|
|
|
|
2012-04-12 07:55:42 +00:00
|
|
|
Updating Composer
|
2012-01-08 17:14:50 +00:00
|
|
|
-----------------
|
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-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.
|
|
|
|
|
2012-02-20 15:25:11 +00:00
|
|
|
To ensure a consistent code base, you should make sure the code follows
|
|
|
|
the [Coding Standards](http://symfony.com/doc/2.0/contributing/code/standards.html)
|
|
|
|
which we borrowed from Symfony.
|
|
|
|
|
2012-01-17 21:23:31 +00:00
|
|
|
If you would like to help take a look at the [list of issues](http://github.com/composer/composer/issues).
|
|
|
|
|
|
|
|
Community
|
|
|
|
---------
|
|
|
|
|
2012-10-24 08:22:40 +00:00
|
|
|
Mailing lists for [user support](http://groups.google.com/group/composer-users) and
|
|
|
|
[development](http://groups.google.com/group/composer-dev).
|
|
|
|
|
|
|
|
IRC channels are on irc.freenode.org: [#composer](irc://irc.freenode.org/composer)
|
2012-01-17 21:23:31 +00:00
|
|
|
for users and [#composer-dev](irc://irc.freenode.org/composer-dev) for development.
|
|
|
|
|
2012-10-24 08:22:40 +00:00
|
|
|
Stack Overflow has a growing collection of
|
|
|
|
[Composer related questions](http://stackoverflow.com/questions/tagged/composer-php).
|
|
|
|
|
2011-04-05 15:36:01 +00:00
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
2012-09-07 20:35:37 +00:00
|
|
|
PHP 5.3.2 or above (at least 5.3.4 recommended to avoid potential bugs)
|
2011-10-02 21:38:27 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
2012-08-25 22:28:28 +00:00
|
|
|
- This project's Solver started out as a PHP port of openSUSE's
|
|
|
|
[Libzypp satsolver](http://en.opensuse.org/openSUSE: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](https://github.com/Seldaek/hidden-input).
|