5

假设我package.json在现有项目中有一个文件。在那里我有"some-package": "^1.0-01",,但是我知道最新版本是1.0-02

所以我愿意yarn upgrade。但是,package.json没有更新,仍然引用 -01版本。然而,该yarn.lock文件显示了这一点:

some-package@^1.0-01:
  version "1.0-02"

这是预期的行为吗?当其他人执行yarn命令时,他们将获得哪个版本。-01如果他们获得最新版本,显示在 中不会误导package.json吗?

4

1 回答 1

5

根据此处的文档,

纱线升级

此命令根据 package.json 文件中指定的版本范围将所有依赖项更新为其最新版本。yarn.lock 文件也将被重新创建。

棘手的部分是基于 package.json 中指定的版本范围

这意味着如果你package.json已经定义了一个特定的 semver,就像你说的那样,upgrade只会根据那里定义的范围升级它,即^1.0-01 应该1.0-02在你的package.jsonyarn.lock文件中升级到。

现在您已经说过这仅在您的yarn.lock文件中发生。Yarn 提供了一个用于检查此类冲突的实用程序,称为check

你能试试跑步吗

yarn check

在您的存储库中并告诉我们您的发现?

于 2016-10-13T20:29:36.710 回答