我正在将 Composer 用于需要处理一些依赖项的项目,但我遇到了一个非常奇怪的问题。Composer 忽略了子包中包含的 composer.json 文件。
我的项目需要检索一些自定义 zip 包,在这些包中,composer.json 文件定义了其他要求。这些需求的存储库在根 composer.json 文件中声明,因为 Composer 不能递归地获取存储库。
问题是,在我的 zip 包被下载、解压缩并放置在供应商目录中之后,composer 完全忽略了它的 composer.json 定义了其他要求的地方......
zip 存档是这样的:
- /目录1
- /目录2
- 文件 1
- 文件2
- 作曲家.json
为了给你一个想法,这就是我的根 composer.json 的样子:
{
"name": "myproject/project",
"type": "library",
"repositories": [
{
"packagist" : false
},
{
"type": "package",
"package": {
"name" : "giulianobundles/mybundle",
"version" : "1",
"dist": {
"url": "http://url/to/zip/file",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name" : "giulianobundles/mybundlerequirement",
"version" : "1",
"dist": {
"url": "http://url/to/zip/file",
"type": "zip"
},
}
},
],
"require": {
"php": ">=5.3.2",
"giulianobundles/mybundle": "*"
},
"autoload": {
"psr-0": {
"config": "./"
}
},
}
并且捆绑包的 composer.json 包看起来像
{
"name": "giulianobundles/mybundle",
"type":"library",
"require": {
"giulianobundles/mybundlerequirement": "1"
}
}
Mybundle 包成功安装,但它的 composer.json 文件被完全忽略。任何的想法?我错过了什么?