javascript - yarn 遇到^(插入符号)时如何工作?

标签 javascript yarnpkg

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

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

关于javascript - yarn 遇到^(插入符号)时如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47527118/

相关文章:

javascript - 当前页面刷新时选择的 div?

javascript - Vue Js - 文件输入更改后发送 axios 请求

node.js - yarn 使用错误: how to use yarn on git bash

javascript - Yarn Workspaces,工作区不会发出错误或警告

yarnpkg - 在不同的路径中运行 yarn

javascript - 可观察实例在没有观察者(或订阅者?)的情况下发出

javascript - 如何使用jquery向div添加类,其中radio具有一定的值

javascript - 如何从 JavaScript 中的字符串中提取数字?

node.js - 'npm install' 和 'yarn install' 最终都会出错

javascript - yarn 在 Windows 上慢 5 倍