$ composer.phar install
在哪里得到安装的软件包从何而来?
据我所知,Packagist是PHP包的默认存储库,并且在composer.json
中缺少不同的包,这是作曲家将查找包的地方。
但是,我不清楚的是Composer和Packagist如何交互。
直接从
packagist.org
是否作曲家下载文件或不作曲家得到
packagist
混帐/ SVN/HG存储库链接,并直接从库中下载文件?还是别的什么?
$ composer.phar install
在哪里得到安装的软件包从何而来?
据我所知,Packagist是PHP包的默认存储库,并且在composer.json
中缺少不同的包,这是作曲家将查找包的地方。
但是,我不清楚的是Composer和Packagist如何交互。
直接从packagist.org
是否作曲家下载文件或不作曲家得到packagist
混帐/ SVN/HG存储库链接,并直接从库中下载文件?
还是别的什么?
这取决于您的composer.json
文件的内容。
例如,如果您composer.json
包含简单
{
"require": {
"phpunit/phpunit": "3.8.*@dev"
}
}
然后作曲家搜索packagist,这里认定的PHPUnit:
https://packagist.org/packages/phpunit/phpunit
告诉作曲家从这里装载的PHPUnit:
https://github.com/sebastianbergmann/phpunit.git
如果不是您composer.json
包含
{
"repositories": [
{
"type": "vcs",
"url": "http://github.com/sebastianbergmann/phpunit"
}
],
"require": {
"phpunit/phpunit": "3.8.*@dev"
}
}
然后作曲家不会看packagist,而是直接去github上下载回购。
上Packagist登记的软件包通常包(不是叉)的“授权”版本,但我发现几个例子在那里,这是不的情况下,所以你应该检查一下,以确保你正在拉你期望的包。
Packagist.org提供用户在那里注册他们的软件,方法是指示Packagist读取他们在web上某处发布的composer.json文件。
通常情况下,会有一些常见的开源主机如github,这使得它非常容易,因为作曲家可以立即处理这样的git回购。但是,您可以托管自己的git或svn或hg存储库,甚至可以为每个软件版本发布现成的ZIP或TGZ文件。
作曲家直接从源下载,例如, Packagist只知道这些来源,并告诉你的作曲家实例去哪里。它通过从Packagist.org下载一系列拥有所有信息的json文件来实现这一点。这比找出你想要的库被放置在哪里更方便,并且将这些信息作为一个存储库条目添加到你的本地composer.json文件中。 :)
packagist拥有指向存储库的链接,这就是它们从 – 2013-04-24 22:15:10