什么原因会导致 package-lock.json 中的 lockfileVersion 减少一?

12
在 package.json 中手动更新了补丁版本号(编辑文件)。注意到锁定文件仍是旧版本,因此我运行了 npm install 进行更新。这时候,lockfileVersion 字段从 2 变成了 1,这看起来很奇怪。关于 lockfileVersion文档 说:

一个整数版本号,从 1 开始,表示生成此 package-lock.json 文件时使用的语义版本号。

这并没有帮助。那么这个版本号的变化是否会产生影响呢?它的减小看起来很奇怪。当我升级版本时,是否应该不更新锁定文件呢?

Node 版本为 v12.16.1,NPM 版本为 6.14.10。


2
“Bumped the patch version” - 怎么做?npm version patch会更新锁定文件,对吗? - jonrsharpe
啊,不,我是手动编辑完成的,当时我在 package.json 文件里为了其他事情而修改了版本号;我会尝试使用patch来看看会发生什么。 - jcollum
有趣的是:我使用了 npm version patch,但 lockfileVersion 仍保持为 2。 - jcollum
2个回答

15

这是否会导致团队之间出现任何问题?我们刚刚建立了一台新机器,在克隆存储库后执行了 “npm i”,我们注意到锁定文件更改为版本 2,而且看起来完全不同。我们将该更新推送到了存储库。它说是向后兼容的,所以我想对于旧版本的开发人员来说不应该是一个问题,但我只是想知道从锁定文件解析和不是 package.json 的行为是否有所不同。 - MattoMK
1
我觉得我可能是唯一一个注意到这个问题的人。但是我建议限制你的节点版本并达成一致意见。 - jcollum

7
可能是因为你使用的 npm 版本比最后一次更改 package-lock.json 文件时使用的版本旧。更新你的 npm 可执行文件,它应该现在使用一个更高或相等的 lockfileVersion

1
是的,看起来当时 npm 版本是 7.0,但 6.x 仍在更新。我的团队中有一个人可能使用了 7,而我使用的是 6。 - jcollum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接