$ 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