为什么“ npm install”会修改package-lock.json?为什么将其提交给git?

时间:2018-10-26 14:14:51

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

当我在项目中运行“ npm install”时,它经常会修改package-lock.json,例如,如果我从另一台计算机(具有不同的节点或npm版本)在同一个项目中工作。

但是与此同时,文档表明应该将该文件添加到版本控制中(在我的情况下为git):

https://docs.npmjs.com/files/package-lock.json

  

该文件旨在提交到源存储库中,并且   有多种用途:...

因此,当切换工作机或其他人npm install时,我应该来回提交npm所做的更改吗?这将是一场噩梦。

当前,我只是丢弃npm对package-lock.json所做的任何更改,并且一切正常。所以我不妨将其添加到.gitignore ...

我做错了吗?我应该改用npm ci吗?我不会将我的计算机称为“ CI”,它只是一台开发机器,为什么要在那里使用它?

基本上我和这位先生有相同的问题:

https://github.com/npm/npm/issues/18103#issuecomment-370401935

(可悲的是,我根本无法对此问题发表评论或创建新问题,npm repo已禁用问题)

1 个答案:

答案 0 :(得分:-3)

是的,您想将package-lock.json文件提交到源代码管理。这样做的原因是为了确保为下载该代码的每个用户下载并安装每个软件包的所有相同版本。包含文件还有其他一些原因,例如跟踪对软件包树的更改以进行审核。