我在github repos上看到过https://david-dm.org/个标签,我注意到我的一些项目确实已经过时了,但从技术上讲,我的代码没有更新。保持依赖关系最新的一些可靠原因是什么?
答案 0 :(得分:3)
您的代码(仍然)正在运行并按预期工作这一事实并不意味着部署后发现的安全漏洞不会影响您的系统。
您可以对操作系统的任何更新提出同样的问题 - "它仍然有效,那么我为什么要安装最新的更新?"。
您需要更新您的软件,以便与您正在使用的软件版本相关的错误修复/安全问题保持循环(并视具体而定)。
对于一些最近(严重)的例子,请看一下:
这些错误不会影响系统的功能 - 但您仍然容易受到攻击。
如果你只需要一个"坚实的理由"我会去修补安全漏洞。
答案 1 :(得分:2)
使用旧的依赖项通常很好(当然除了安全漏洞)。
最大的问题是,如果您需要更新版本的功能,则必须更新。此时,如果版本之间的变化很大,则更新可能非常繁琐。
此外,您可能还有其他依赖项依赖于已更新的依赖项,并且还需要更新它们。
通常更容易使项目保持最新(单元测试有很多帮助)。因此,在我看来,您需要考虑是否要添加新功能。
答案 2 :(得分:1)
例如,对于类似ORM的情况,可能存在可能导致使用恶意数据攻击数据库系统的错误。所以安全可能是一个原因。
这实际上取决于依赖性。表现可能是另一个原因。