PHP的依赖管理--composer源码

Jordi Boggiano ea2938339d Merge pull request #1641 from MichaelGooden/patch-1 před 12 roky
bin 5652ce5e55 Update SPDX license identifiers před 12 roky
doc 660861c7fd Update 03-cli.md před 12 roky
res f06c0cb580 Code reorgs and make bool values real booleans, refs #1637 před 12 roky
src ab206580f5 Merge remote-tracking branch 'christianjul/master' před 12 roky
tests c29f3c698e Fix support of aliases combined with reference locked packages, fixes #1631 před 12 roky
.gitignore cd2c6dc5d2 * ignore vagrant related před 13 roky
.travis.yml 57959c096e Clone on travis to avoid ssl issues on 5.3, disallow failures for 5.5 now that its updated před 12 roky
CHANGELOG.md 625e174f76 Update deps & changelog format před 12 roky
LICENSE 7ea2fd6c93 Fix author/copyright před 14 roky
PORTING_INFO 933cc6179b Import initial partial port of the libzypp satsolver. před 14 roky
README.md c1a4e5d43b Add curl -sS everywhere před 12 roky
composer.json c17aac04a9 Mark minimum phpunit version před 12 roky
composer.lock 087bc44f44 Update deps před 12 roky
phpunit.xml.dist 6967ec16b3 Add slow tests to slow group, excluded by default except for travis před 13 roky

README.md

Composer - Dependency Management for PHP

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

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

Build Status

Installation / Usage

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

    $ curl -sS https://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: cd composer && php ../composer.phar install

You can now run Composer by executing the bin/composer script: php /path/to/composer/bin/composer

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 -sS https://getcomposer.org/installer | php
  3. Make the phar executable 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)

Composer is part of the homebrew-php project.

  1. Tap the homebrew-php repository into your brew installation if you haven't done yet: brew tap josegonzalez/homebrew-php
  2. Run brew install josegonzalez/php/composer.
  3. Use Composer with the composer command.

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

Mailing lists for user support and development.

IRC channels are on irc.freenode.org: #composer for users and #composer-dev for development.

Stack Overflow has a growing collection of Composer related questions.

Requirements

PHP 5.3.2 or above (at least 5.3.4 recommended to avoid potential bugs)

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.
  • This project uses hiddeninput.exe to prompt for passwords on windows, sources and details can be found on the github page of the project.