Symfony 编写器未安装依赖项的依赖项
我使用satis制作了composer包(作为zip文件)和存储库。 这是satis的存储库定义:Symfony 编写器未安装依赖项的依赖项,symfony,composer-php,Symfony,Composer Php,我使用satis制作了composer包(作为zip文件)和存储库。 这是satis的存储库定义: { "name": "vendor_initial_repo", "repositories": [ { "type": "package", "package": { "name": "vendor/core-bundle", "version": "dev-master", "dist": { "url": "http://vendor.com/
{
"name": "vendor_initial_repo",
"repositories": [
{
"type": "package",
"package": { "name": "vendor/core-bundle", "version": "dev-master", "dist": { "url": "http://vendor.com/bundles/vendor_core_bundle.zip", "type": "zip" } }
},
{
"type": "package",
"package": { "name": "vendor/security-bundle", "version": "dev-master", "dist": { "url": "http://vendor.com/bundles/vendor_security_bundle.zip", "type": "zip" } }
}
}
core捆绑包的composer.json:
{
"name": "vendor/core-bundle",
"description": "Bundle containing all other vendor Bundles and more",
"keywords": ["Symfony"],
"type": "symfony-bundle",
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": ">=5.3.2",
"symfony/symfony": ">=2.3.0",
"vendor/security-bundle": "dev-master",
"braincrafted/bootstrap-bundle": "2.1.*@dev",
"bower-asset/jquery": "1.11.*",
"bower-asset/jquery-ui": "1.11.*"
},
"autoload": {
"psr-4": { "Tezlabs\\CoreBundle\\": "" }
},
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
},
"asset-installer-paths": {
"npm-asset-library": "web/resources/vendor",
"bower-asset-library": "web/resources/vendor"
}
}
}
我能够通过将核心包添加到应用程序的composer.json的“require”键来安装它。我还将“最小稳定性”设置为“dev”。然后,我使用
composer--dev--preferreddist--with dependencients vendor/core bundle
安装了core bundle,它工作正常,但没有安装“vendor/security bundle”或任何“core bundle”的依赖项。问题是什么?
我还使用composer安装尝试了这一点:相同的结果如果使用“package”类型,则必须提供其中composer操作所需的所有信息
这种“包”类型意味着替换不提供“composer.json”文件的软件,在这种情况下,您自己无法修复这一事实(例如,其他人在某处放弃了它)
Composer最好与存储库一起用作软件源。这样,将对存储库中的“composer.json”文件以及存储库中存在的分支名称和标记进行评估。这是成功使用Composer的最简单方法
如果您想从这些版本创建ZIP包,您可以配置Satis来执行此操作,您不必自己执行此操作-请参阅。问题似乎在于将文件打包为ZIP。当我使用vcs包时,它可以工作。但是,在Satis为ZIP包生成的“包含”文件中,没有“需要”之类的键。