468eb0ed8d | ||
---|---|---|
bin | ||
doc | ||
src/Composer | ||
tests | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
PORTING_INFO | ||
README.md | ||
composer.json | ||
phpunit.xml.dist |
README.md
Composer - Package Management for PHP
Composer is a package manager tracking local dependencies of your projects and libraries.
See the about page on packagist.org for more information.
Installation / Usage
-
Download the
composer.phar
executable -
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:
php composer.phar install
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
wget http://getcomposer.org/composer.phar
- 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
Global installation of composer (via homebrew)
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.
Updating composer
Running php composer.phar self-update
or equivalent will update a phar
install with the latest version.
Configuration
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.
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.
If you would like to help take a look at the list of issues.
Community
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.
Requirements
PHP 5.3+
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.