【发布时间】:2021-06-18 21:02:48
【问题描述】:
我正在寻找一种方法来分离一个包含许多 Symfony 包的活动作曲家包。
目前这个包在根目录下有一个global composer.json文件,看起来像这样。
包
-
src/DIRECTORY_WITH_MULTIPLE_SYMFONY_BUNDLES
-
composer.json
我想用一个单独的 composer.json 文件制作每个包,所以我可以只需要我需要的包,而不是整个包。
我不想通过 Packagist 发布包,只想直接从我的仓库加载它,就像
"repositories": {
"composer": {
"type": "composer",
"url": "https://packagist.org"
},
"mypackagerepo": {
"type": "path",
"url": "https://github.com/PATH_TO_MY_PACKAGE_REPO"
}
}
然后从这样的目录中要求我需要的包
"require": {
"bundle1": "~1.8.1",
"bundle2": "~2.18.2"
}
【问题讨论】:
-
Symfony 使用“子模块”通过一个 github 存储库管理大约 75 个包。您可以搜索一些细节,但这不是一个简单的任务。不知道如何改造现有存储库并将其划分。您最好的选择可能是将您当前的存储库分解为单独的存储库并从那里开始。在你这样做之前,验证你的包是真正独立的。不被注意的交叉依赖潜入的情况并不少见。
标签: symfony composer-php bundles monolithic