我已经使用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"
}
}
}
我可以通过将核心包添加到应用程序的composer.json的"require"键来安装它 . 我还将"minimum-stability"设置为"dev"那时我使用 composer --dev --prefer-dist --with-dependencies vendor/core-bundle
安装了core-bundle,但它没有安装"vendor/security-bundle"或任何"core-bundle"的依赖项 . 问题是什么?我也尝试使用 composer install
:同样的结果
1 回答
如果使用“包”类型,则必须提供其中Composer操作所需的所有信息 .
这种“包”类型意味着替代不提供“composer.json”文件的软件,在这种情况下,您无法自己解决这个问题(例如,其他人在某处放弃了它) .
Composer最好与存储库一起用作软件的来源 . 这样,将对该存储库中的“composer.json”文件以及该存储库中存在的分支名称和标记进行评估 . 这是使用Composer取得成功的最简单方法 .
如果您想从这些版本创建ZIP包,您可以配置Satis来执行此操作,您不必自己执行 - 请参阅"archive" option for Satis .