假设我在现有项目中有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
会不会产生误导?
答案 0 :(得分:4)
根据文件here,
纱线升级
此命令会根据所有依赖项更新其最新版本 package.json文件中指定的版本范围。纱线。锁 文件也将重新创建。
棘手的部分是,基于package.json中指定的版本范围
这意味着,如果您的package.json
已定义了您所说的特定搜索者,则upgrade
只会根据此处定义的范围对其进行升级,即^1.0-01
升级到1.0-02
和package.json
文件中的yarn.lock
。
现在您已经说过这种情况只发生在您的yarn.lock
文件中。 Yarn提供了一个实用程序,用于检查名为check
你能试试吗
yarn check
在您的存储库中并告诉我们您的发现?