Composer不安装依赖项的依赖项

时间:2014-11-26 07:44:11

标签: symfony composer-php

我使用satisf创建了作曲家包(作为zip文件)和一个存储库。 这是满意的存储库定义:

{
"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" } }
    }
}

composer.json for core-bundle:

{
"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"
    }
}
}

我可以通过将core-bundle添加到应用程序的composer.json的“require”键来安装它。我还在那里设置了“最小稳定性”到“dev”。然后我使用composer --dev --prefer-dist --with-dependencies vendor/core-bundle安装了core-bundle但是它没有安装“vendor / security-bundle”或任何“core-bundle”的依赖。什么是问题? 我也尝试使用composer install:同样的结果

1 个答案:

答案 0 :(得分:0)

如果您使用“包”类型,则必须提供其中Composer操作所需的所有信息。

“package”类型是指不提供“composer.json”文件的软件的替代品,在这种情况下,您无法自行修复此事实(例如,其他人已将其遗弃在某处)。

Composer最好与存储库一起用作软件的来源。这样,将对该存储库中的“composer.json”文件以及该存储库中存在的分支名称和标记进行评估。这是使用Composer取得成功的最简单方法。

如果您想从这些版本创建ZIP包,可以配置Satis来执行此操作,您不必自己动手 - 请参阅"archive" option for Satis