我开发了一个composer包,它包含在许多Github-reo-Laravel项目中。它被设置为特定的版本,但即使我稍微宽松一点,并将补丁版本设置为补丁版本的星号,我仍然需要在需要该包的项目中运行composer update
,以便在服务器上运行composer install
时安装正确的版本。
我面临的问题是,当我发布一个新的包版本时,我必须在本地运行composer update
,比如说,对于15个项目,每个运行15次,然后提交所有15个,并打开所有15个的拉取请求等等,这使得过程非常慢。
有没有更好的方法来处理composer update
,也许我需要开发一个小的CLI应用程序来与Github api通信,以打开PR并合并它们?
您所描述的正是预期和打算发生的事情。具有已提交锁定文件的完整项目应该安装锁定版本,除非更新。
您可以使用类似于此composer更新操作来定期运行,并在必要时创建提交,或者使用GitHub提供的Relianot。
但是,如果没有一个健壮的测试套件和精细调整的版本约束,你可能会破坏已经在工作的项目,因为一些随机依赖引入了行为上的意外变化。