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/

相关文章:

node.js - 安装 yarn 后 Npm 不工作(找不到 number-is-nan)

npm - 安装 Gatsby Starter 'Something went wrong installing the "尖锐“模块时出错”

typescript - 如何禁用 eslint no-promise-executor-return?

javascript - 从 Controller 显示或隐藏父元素的弹出窗口 - angularjs

javascript - 使用 JavaScript 选择和操作 CSS 伪元素,例如::before 和::after

javascript - 未捕获的类型错误 : Cannot read property 'nodeType' of null

javascript - 日期时间选择器 onRender 方法不起作用

javascript - 我如何才能对所有依赖项进行版本调整?

reactjs - 如何指定端口在Azure Web应用程序中运行多个ReactJS应用程序?

javascript - 使用 Javascript 访问 <noscript> 的内容