纱线遇到^(插入符号)时如何工作?

How does yarn work when it encounters ^ (caret)?

yarn 在 package.json 依赖项中遇到 ^(插入符号)时如何工作?

假设我有反应:^16.0.0 并且当我安装 yarn 时,它会在该版本上创建一个锁 (16.0.0)。

现在稍后当 react 16.1.0 发布时,我再次使用锁定文件安装 yarn,将 yarn 升级到该版本或按照锁定文件中的内容 16.0.0

谢谢。

yarn install 将在锁定文件中安装准确的版本。这就是锁定文件的巨大好处,无论何时安装 yarn,参与您项目的每个人都将获得完全相同版本的包。 (例如,我今天执行 yarn install,当前版本是 16.0.0,但是你明天执行 yarn install,当前版本是 16.1.0。我们仍然会得到 16.0.0,因为这就是我们的锁文件说我们应该得到的.我们的开发环境完全一样,这就是我们想要的。同样如果我们在2周内部署,当16.2.0是当前版本时,16.0.0将被部署;因此我们的开发和生产环境也是完全一样的)

如果 16.1.0 已发布并且您想更新您的项目以使用它,请使用 yarn upgrade。请注意,您可以升级 所有 个包,或只升级一个特定的包,以及更新到包的最新版本或包的特定版本。 https://yarnpkg.com/lang/en/docs/cli/upgrade/

版本控制您的 package.json 和 yarn.lock

通过将这两个文件添加到版本控制,您可以轻松地将项目恢复到与包相关的特定时间点。

选择的答案是错误的。

脱字符表示关注

^3.1.4 will allow a version range from >=3.1.4 <4.0.0