纱线如何解释不提供补丁版本的依赖项的semver

问题描述

我的问题是关于 yarn.lock 如何处理库之间的更新。

我想知道给定一个使用库 B 的项目 A,该库使用库 C: A 使用 B 使用 C。

想象一下 B 在它的 package.json 中这样定义 C

"c": "^1.1"

现在想象一下 C 更新到 1.1.2 版。 B 颠簸升级,因此反过来,B 中的 yarn.lock 更改为此。

C@^1.1
version: 1.1.2

然后我们将 B 的版本从 1.2.0 提升到 1.3.0。之后,我们更新项目 A 中的 B。

因为 B 已经在 A 中,所以所有的子依赖已经在 yarn.lock 中有一个版本。 因为C在项目A中是这样定义的

C@^1.1
version: 1.1.1

即使更新了B,C的版本在A中也不会变成1.1.2,因为它的semver还在^1.1的可接受范围内。

我的问题是:

  1. 如果在 B 的 json 包中你写的是 C: ^1.1.0 而不是 C: ^1.1 会不会有什么不同
  2. 有没有办法防止这种情况发生,我想答案是肯定的,方法是提供 1.1.1 而不是 ^1.1.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...