いくつかの依存関係を処理する必要があるプロジェクトに Composer を使用していますが、非常に奇妙な問題が発生しました。Composer は、子パッケージに含まれる composer.json ファイルを無視しています。
私のプロジェクトでは、いくつかのカスタム zip パッケージを取得する必要があります。これらのパッケージでは、composer.json ファイルで他の要件が定義されています。Composer はリポジトリを再帰的に取得できないため、これらの要件のリポジトリはルート composer.json ファイルで宣言されます。
問題は、私のzipパッケージがダウンロードされ、解凍され、ベンダーディレクトリに配置された後、composerは他の要件が定義されているcomposer.jsonを完全に無視することです...
zip アーカイブは次のようなものです。
- /dir1
- /dir2
- ファイル1
- ファイル2
- composer.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 ファイルは完全に無視されます。何か案が?私は何が欠けていますか?