Composer 默认使用来自 Packagist 的元数据,Packagist 从每个 repo 的composer.json文件中提取。
但是,可以只指定您要自己下载的任何文件。但是,如果您想要有很多版本,可能会有点麻烦。
Composer 在这里有一些关于它的文档,但我自己尝试了一下,并将在下面包含我的示例 Composer 文件。我可以composer update用来下载不包含composer.json文件的 git repo。
PHP 项目的示例 Composer 文件:
看起来您需要为您想要的每个版本提供一个“包”部分。
{
"repositories": [
{
"type": "package",
"package": {
"name": "testy/testyson",
"version": "1.0.0",
"dist": {
"url": "https://github.com/mickadoo/testlib/archive/1.0.0.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "testy/testyson",
"version": "2.0.0",
"dist": {
"url": "https://github.com/mickadoo/testlib/archive/2.0.0.zip",
"type": "zip"
}
}
}
],
"require": {
"testy/testyson": "2.*"
}
}
我加载的测试存储库只包含一个文本文件,其内容为“这是版本 1”,并且使用requirePHP 包部分中的不同版本,我能够在它们之间切换。