【发布时间】:2014-11-29 06:13:54
【问题描述】:
我有一个应用程序 A,它有一个 composer.json 文件,它定义了对包 P 的依赖,这是我自己的新闪亮包。我的包 P 有一个 composer.json 文件,它定义了对库 L 和框架 F 的依赖关系。我的包 P 还没有远程存储库,它还没有在 packagist.org 上发布——我基本上是在修补它,尝试不同的东西通过在浏览器中运行应用程序 A 并不断修改我的包 P,应用程序 A 所依赖的包。
有些问题确实让我的工作流程变得复杂:
1) 只能使用本地存储库来定义 A 对 P 的依赖关系,如下所述:https://getcomposer.org/doc/05-repositories.md 问题是这迫使我必须先提交对 P 的所有更改在 A 上实际测试一下。
2) 参考 1) 这意味着我每次对 P 进行更改时都必须运行 composer update。(我一开始不想提交。)
3) 另一方面,当不在 P 中使用本地存储库时,我无法定义 A 对 P 的真正依赖,这意味着运行 composer install不会安装P的composer.json文件中定义的依赖L和F。
因此,我认为有两种可能的工作流程:
1) 在 P 中提交更改,在 A 中 composer update 并查看更改效果如何。
2) 不要使用本地存储库作为依赖项,只需将 P 的 composer.json 文件中定义的依赖项复制 到 A 的 composer.json 文件中能够使用composer install 获取依赖关系L 和F。
基本上,我正在寻找一个工作流来开发一个新的 composer 包,我可以在其中运行 composer install/update 来安装所有 3rd 方依赖项,但无需在我自己的本地包中提交更改来测试更改。
上述问题有什么解决办法吗?
非常感谢!
【问题讨论】:
-
欺骗答案,也许不是欺骗问题stackoverflow.com/a/18130386/778719
标签: php workflow composer-php dependency-management package-development