我有一个应用程序 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)这意味着我composer update
每次对 P 进行更改时都必须运行。(我一开始不想提交。)
3)另一方面,当不在P 中使用本地存储库时,我无法从 A 对 P 定义真正的依赖关系,这意味着运行composer install
不会安装在 P 的 composer.json 文件中定义的依赖关系 L 和 F。
因此,在我看来,有两种可能的工作流程:
1)在 P 中提交更改,composer update
在 A 中查看更改效果如何。
2)不要使用本地存储库作为依赖项,只需将P的composer.json文件中定义的依赖项复制到A的composer.json文件中,以便能够使用composer install
获取依赖项L和F。
基本上我正在寻找一个工作流来开发一个新的 composer 包,我可以在其中运行composer install/update
以安装所有 3rd 方依赖项,但无需在我自己的本地包中提交更改来测试更改。
是否有任何解决上述问题的方法?
非常感谢!