我使用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
:同样的结果
答案 0 :(得分:0)
如果您使用“包”类型,则必须提供其中Composer操作所需的所有信息。
“package”类型是指不提供“composer.json”文件的软件的替代品,在这种情况下,您无法自行修复此事实(例如,其他人已将其遗弃在某处)。
Composer最好与存储库一起用作软件的来源。这样,将对该存储库中的“composer.json”文件以及该存储库中存在的分支名称和标记进行评估。这是使用Composer取得成功的最简单方法。
如果您想从这些版本创建ZIP包,可以配置Satis来执行此操作,您不必自己动手 - 请参阅"archive" option for Satis。