PHP的依赖管理--composer源码

Jordi Boggiano 1a255420b0 Ignore aliases in autoload generator %!s(int64=13) %!d(string=hai) anos
bin fd38971777 Fix CS & simplify code %!s(int64=13) %!d(string=hai) anos
doc 8af189e300 Remove bad chars from docs %!s(int64=13) %!d(string=hai) anos
res 7c7cac61b6 Merge remote-tracking branch 'github-seldaek/stability' %!s(int64=13) %!d(string=hai) anos
src 1a255420b0 Ignore aliases in autoload generator %!s(int64=13) %!d(string=hai) anos
tests 1a255420b0 Ignore aliases in autoload generator %!s(int64=13) %!d(string=hai) anos
.gitignore cd2c6dc5d2 * ignore vagrant related %!s(int64=13) %!d(string=hai) anos
.travis.yml 474d5b8283 Drop 5.3.2 since symfony2 can not run against it anymore %!s(int64=13) %!d(string=hai) anos
CHANGELOG.md 6c9c1f17ef Update changelog %!s(int64=13) %!d(string=hai) anos
LICENSE 7ea2fd6c93 Fix author/copyright %!s(int64=14) %!d(string=hai) anos
PORTING_INFO 933cc6179b Import initial partial port of the libzypp satsolver. %!s(int64=14) %!d(string=hai) anos
README.md 420baf777f Update README %!s(int64=13) %!d(string=hai) anos
composer.json fea164be53 Fix wording %!s(int64=13) %!d(string=hai) anos
composer.lock 2c9e43737e Update vendors %!s(int64=13) %!d(string=hai) anos
phpunit.xml.dist 6967ec16b3 Add slow tests to slow group, excluded by default except for travis %!s(int64=13) %!d(string=hai) anos

README.md

Composer - Package Management for PHP

Composer is a package manager tracking local dependencies of your projects and libraries.

See http://getcomposer.org/ for more information and documentation.

Build Status

Installation / Usage

  1. Download the composer.phar executable or use the installer.

    $ curl -s http://getcomposer.org/installer | php
    
  2. 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"
        }
    }
    
  3. Run Composer: php composer.phar install

  4. 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.

  1. Run git clone https://github.com/composer/composer.git
  2. Download the composer.phar executable
  3. 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.

  1. Change into a directory in your path like cd /usr/local/bin
  2. Get Composer curl -s http://getcomposer.org/installer | php
  3. Make the phar executeable chmod a+x composer.phar
  4. Change into a project directory cd /path/to/my/project
  5. Use Composer as you normally would composer.phar install
  6. Optionally you can rename the composer.phar to composer to make it easier

Global installation of Composer (via homebrew)

Installing via this homebrew formula will always get you the latest Composer version.

  1. run brew uninstall composer ; brew install --HEAD https://raw.github.com/gist/1574469/composer.rb
  2. Change into a project directory cd /path/to/my/project
  3. 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.

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

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.