前言
今天合并同事们的代码的时候,其中一个同事的代码合并到我本地的时候出现了package.lock.json
冲突的问题,在这记录一下排查问题的过程。
问题出现的现象
我们一共是四个前端同学开发,我是项目的Owner,合并过来代码之后,发现package.lock.json
有冲突,这个冲突确实好久没见了,基本上保持本地依赖同步,一般不会出现这个问题,合并过来之后的改动如下图:
网络异常,图片无法展示
|
没错,多了一个"package"
的key,因为我们几个同事的lock都是在dependencies
里的。
这个同事吧,比较喜欢用webstorm,所以我刚开始总觉得是不是webstorm搞得👻,因为这个字段确实像他们公司产品的风格,试了之后发现不是。
翻了翻这位同事之前的提交,确实也没有安装过别的新的依赖。
询问他有无使用yarn
or cnpm
执行安装,答案是:无。
询问了他本地的npm version 为:8.5.3
,我本地为:6.14.4
,严重怀疑是npm version的👻。
经测试,果然:
以下为8.5.3
执行npm i
之后的package.lock.json
:
{ "name": "a", "version": "0.0.1", "lockfileVersion": 2. "requires": true, "package": { "": { "name": "a", "version": "0.0.1", "dependencies": { ... } } }, "dependencies": { ... } } 复制代码
多了这么一个package
的👻东西,目前还没有了解这个package
的作用,等忙完这阵儿研究一下。
得亏提前解决,没有马虎过掉,要不然以后每次合并他的代码都来个冲突。
Fighting!