我有以下情况:我有两个composer项目——一个依赖于另一个。这是Symfony应用程序和它所依赖的捆绑包。两者都由git跟踪,我也有它们的远程存储库。我在当地从事这两个项目,并承诺&完成后将更改推送到遥控器。我也在一个团队中工作,所以团队中的每个人都有自己的操作系统和本地目录结构。
现在,我已经将我的捆绑包供应商目录符号链接到磁盘上的另一个目录。它做得很好,因为我可以自由地处理我的捆绑包,并在进行更改时在主机应用程序内部实时测试它。
当我需要更改捆绑包的依赖关系时,问题就开始了。我在里面更改了composer.json,我需要更新这些对主机应用程序的依赖关系并进一步开发。我的配置不允许我这样做,当我在主机应用程序上进行"composer更新"时,它当然会尝试从远程进行更新(正如composer.json中所定义的那样),它会看到旧的composer.json版本,因此它看不到任何捆绑包依赖项。此外,我不想将未经测试的依赖关系推送到远程。
有人有这种问题吗?有没有一种方法可以以某种方式处理它,而不需要仅仅在主机上更新未经测试的更改?
如果您在团队中工作,并且您的队友也需要此功能,您只需设置自己的Packagist服务器即可跟踪您的包。此外,您还可以控制库的版本。在你的改变之后,你所有的队友都只需要composer update
。