为什么"npm install"修改package-lock.json?为什么要把它交给git呢?

szx*_*szx 7 node.js npm package-lock.json

当我在项目中运行"npm install"时,它经常修改package-lock.json,例如,如果我从另一台计算机(具有不同节点或npm版本)处理同一项目.

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

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

此文件旨在提交到源存储库,并用于各种目的:...

那么我应该在切换工作机器时或者在其他人的情况下来回提交npm所做的更改npm install吗?这将是一场噩梦.

目前我只是放弃了由npm对package-lock.json所做的任何更改,并且它一直正常工作.所以我不妨把它添加到.gitignore ......

我做错了吗?我应该用npm ci吗?我不会把我的电脑称为"CI",它只是一台开发机器,我为什么要在那里使用它?

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

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

(遗憾的是,我无法在该问题上添加评论或根本无法创建新问题,npm repo已禁用问题)

小智 -2

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

  • 是的,我理解锁定文件的目的,但在 npm 的情况下,它实际上安装了与锁定文件中的包不同的版本(并在执行此操作时修改了这些版本) - 我不明白 (4认同)

归档时间:

查看次数:

1390 次

最近记录:

7 年,7 月 前