【发布时间】:2017-08-20 02:30:28
【问题描述】:
我正在处理一个包含大量 git 存储库的大型项目。我可以像这样轻松地让它们保持同步:
https://getcomposer.org/doc/05-repositories.md#path
"repositories": [
{ "type": "path", "url": "../another-component" },
{ "type": "path", "url": "../yet-another-component" }
]
如果我运行 composer 这将在我的供应商文件夹中为提供的每个存储库创建一个符号链接。这样,每当我更新主 app 存储库之外的存储库之一时,更改都会立即反映出来。
这是一个完美的本地开发解决方案,但在生产中,我只想拥有一个指向在线 Github 存储库并从 Github 拉取存储库的 composer 文件。
当然,这个 composer 文件看起来会有些不同,因为类型将设置为 vcs,并且 url 将指向 Github 而不是相对路径。
人们如何为本地/生产设置执行此操作?您是否只维护 2 个单独的作曲家文件,一个用于本地开发,另一个用于生产?
这意味着每当我向我的代码库添加另一个存储库时,我必须记住在 2 个地方更新它,否则我的整个代码库会崩溃。
【问题讨论】:
-
我一直将依赖项推送到远程 vcs 并使用单个 composer.json。不明白为什么会出现问题。
-
@AlexBlex 我的
composer.json的require部分保持不变,因此依赖项本身保持不变。在本地,我希望我的 url 指向我的文件系统。在 productinn 中,我想将我的 url 指向一个实际的 Github 存储库。 -
我也刚刚发现这个线程正在讨论一个非常相似的问题:github.com/composer/composer/issues/6158 这个话题在作曲家的
issues部分也出现了多次,现在我正在调查它.我只是希望有人可以为此提供一个比目前可用的更清洁的解决方案。 -
我明白你的意思,但我认为同时编辑多个 repos 的便利性不值得冒在分支之间跳转版本的风险。特别是如果有几个人在同一个代码库上工作,解决合并冲突是日常工作。
-
你解决过这个问题吗?
标签: php git composer-php