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/