问题描述
我的问题是关于 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
的可接受范围内。
我的问题是:
- 如果在 B 的 json 包中你写的是
C: ^1.1.0
而不是C: ^1.1
会不会有什么不同 - 有没有办法防止这种情况发生,我想答案是肯定的,方法是提供
1.1.1
而不是^1.1.0
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)