更新依赖项时使用latest的潜在风险



我正在使用Yarn来管理我的项目的依赖关系,并且有关于使用想要的最新的版本更新它们的问题。我知道wanted指的是基于包的最高兼容版本。latest是最新版本。

为什么使用最新版本不总是更新依赖项的最佳选择,其中涉及哪些潜在风险?

例如,当我运行yarn outdated时,我得到一个包含以下列的表:

  • Package:包名
  • 当前:当前安装的版本
  • 需要:基于my package.json的最高兼容版本
  • Latest:最新的可用版本

如果我使用yarn upgrade不带——latest标志,它会将我的依赖项更新到所需的版本。

然而,如果我使用yarn upgrade—latest,它会将我的依赖项更新到最新版本,并更改包中的版本控制要求。json文件。

你能解释一下在Yarn中使用wanted和最新版本更新依赖时的潜在风险和最佳实践吗?任何示例或用例都会有所帮助!我阅读了很多文档、手册等,但我没有找到一个能清楚地解释使用最新版本时可能出现的问题的参考资料。

所需版本保持当前主要版本。
最新版本可以更新到较新的主版本,可能有突破性的变化。

现实世界中有很多这样的例子。当你使用Bootstrap4 (UI框架)并更新到最新的(Bootstrap5)时,你的网站的某些部分将不再工作。

但是一个小版本/补丁版本可能会破坏你当前的状态。大多数开发人员将使用版本来告诉其他人他们可以期望什么类型的更改。NPM和Yarn也在使用它来处理过时的命令:)

最新更新