【问题标题】:What would cause lockfileVersion in package-lock.json to decrease by one?什么会导致 package-lock.json 中的 lockfileVersion 减一?
【发布时间】:2021-01-07 19:57:20
【问题描述】:

在 package.json(手动编辑的文件)中添加了补丁版本。注意到锁定文件有旧版本,所以我做了一个npm install 来更新它。当我这样做时,lockfileVersion 字段从2 变为1。这似乎很奇怪。 docslockfileVersion

一个整数版本,从 1 开始,版本号为 this 生成此文档时使用其语义的文档 包锁.json。

这并没有帮助。那么版本值的这种变化是否值得关注?这似乎是一个奇怪的变化,因为它会像这样减少。升级版本时不应该更新lockfile吗?

节点 v12.16.1,NPM 6.14.10

【问题讨论】:

  • “Bumped 补丁版本” - 怎么样? npm version patch是否也更新了锁文件,不是吗?
  • 啊,不,我是手动编辑的,我在 package.json 文件中寻找其他内容,只是在我在那里的时候碰到了那个版本;我会试试patch 看看会发生什么
  • 有趣:我使用了npm version patchlockfileVersion 停留在2

标签: node.js npm package-lock.json


【解决方案1】:

这可能只是因为您使用的npm 版本比上次更改package-lock.json 文件时使用的版本旧。更新您的npm 可执行文件,它现在应该使用更大或相等的lockfileVersion

【讨论】:

  • 是的,npm 当时似乎是 7.0,但 6.x 仍在更新。我的团队中必须有一个人在 7 上,而我在 6 上。
【解决方案2】:

https://docs.npmjs.com/cli/v8/configuring-npm/package-lock-json#lockfileversion

lockfileversion 2 是 NPM 7。所以我团队中的一个人正在使用 NPM 7,而我还在使用 6(lockfileversion 1)。

【讨论】:

  • 这是否导致您的团队之间出现任何问题?我们刚刚构建了一台新机器并在克隆 repo 后执行了 npm i,我们注意到锁定文件更改为版本 2,看起来完全不同。我们将该更新推送到存储库。它说它是向后兼容的,所以我想这对于使用旧版本的开发人员来说应该不是问题,但我只是想知道在从锁定文件而不是 package.json 解析方面的行为是否不同
  • 不,我想我是唯一一个注意到它的人。但我建议限制您的节点版本并就此达成协议。
猜你喜欢
  • 1970-01-01
  • 2018-03-21
  • 2020-12-29
  • 2017-12-14
  • 2021-02-25
  • 2017-11-02
  • 1970-01-01
  • 2021-05-14
相关资源
最近更新 更多