如何高效跟踪依赖版本变化?

Posted

技术标签:

【中文标题】如何高效跟踪依赖版本变化?【英文标题】:How to effeciently track dependency version changes? 【发布时间】:2015-06-06 02:16:03 【问题描述】:

我目前正在开发一个 php 驱动的网站,该网站通过 Composer 具有许多依赖项。

最近,一个依赖项有一个次要版本(根据SemVer),其中包含向后兼容性的破坏性更改。该网站意外中断。我将依赖版本号更新为更精确的版本,例如 1.2.16 而不是 1.*

但这使得版本更难跟踪,因为次要版本经常更改。

如何以既简单又避免破坏性更改破坏项目的方式跟踪依赖关系

【问题讨论】:

说实话,你的做法是对的。谁曾维护过在这样的次要版本中引入了重大更改的软件包,这是做错了。除了非常具体地使用您的版本之外,我不确定您是否可以解释这类事情...... @Bulk 不能再同意了。 依赖库是否明确遵循 SemVer?即,文档是否明确提到它们遵循语义版本控制? 【参考方案1】:

您如何以既简单又避免破坏性更改破坏您的项目的方式跟踪依赖关系?

切勿对实时生产站点进行自动更新。您可能也不应该将它们带到开发人员站点,但这取决于参与的开发人员数量以及更改的速度。最佳实践是设置允许此类更新的分支和匹配的测试站点。您可以运行项目和站点的定期(每天、每小时、任何......)构建/测试周期,然后自动生成将所述范围扩展到已测试/证明良好的依赖项配置,并将其签入活动的开发人员分支(es) 他们最终会在哪里找到开发/测试和产品站点的方式。

【讨论】:

以上是关于如何高效跟踪依赖版本变化?的主要内容,如果未能解决你的问题,请参考以下文章

maven依赖采坑记及依赖分析

如何让渲染响应变化

如何对所有依赖项进行版本升级?

如何更改尚未设置的 Scala 应用程序中的依赖项版本?

Maven:如何覆盖库添加的依赖项

经验分享干货如何高效避免jar冲突