记录一次坑 | 包版本不一致产生的问题的排查过程

记录一次坑

【此为单纯项目bug记录,和前辈一起探讨并解决了,发出来一方面是定期记录一下,另一方面也为以后遇到这种玄学问题?提供一种排查思路】

【用到的框架】

umi+antd

【起因】

我和前辈都提交并拉取了仓库的最新代码,但我和他的界面展示竟然有几个地方是不一样
在这里插入图片描述

【起疑】

初步怀疑是环境依赖的区别,但具体到底是哪个包导致的不同呢?明明拉取了package.json为最新内容了还会有版本不一致问题?
不管了,既然是安装包不一样,那就重新安装一下,启动planA

【planA】

删除node_modules并重新yarn安装
结果:无效?

什么情况?难道不是包的问题?仔细看了一下,突然想到了可能是yarn.lock文件在作妖,把版本号给锁住了

没办法,planB吧

【planB】

删除node_modules和yarn.lock并重新安装
结果:无效?

???
在这里插入图片描述
为啥还不行???

重新观察,发现还有个.umi文件,以前有被这个东西坑过,要强刷的时候需要先把它删了。

害,再来一次吧,planC

【planC】

删除node_modules和yarn.lock和.umi并重新安装,启动报错,重启yarn run start
结果:成功了?好耶

问题解决,果然是依赖包的问题,但具体到底是哪个包导致的不同呢?
由于不同的地方用的都是ant-design,且没有用到其他插件
对比一下两次的yarn.lock文件
发现果然是因为antd-design版本不一致导致的不同

【好耶】

最终我俩用了同一份yarn.lock文件并重新安装了插件就解决啦

以后遇到这种包不一致,重新安装还不行的问题,可以先从.lock和.umi文件来看看?


版权声明:本文为weixin_44258574原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。