公司新老网站其中的一个2dcanvas的子项目用的同一套代码
但是发到线上后,新项目的canvas中图标会错位,视角也和原本的不一致
排查了一晚上,切入点是另一个同事之前发布的老项目是正常的,找他要了源码
结果他的源码在我本地跑依旧有同样的问题
此时我觉得已经不太对了,正常来说一套代码我的电脑不行,他的可以,那我就想到了可能和本地的node版本或者依赖包有关
尝试了将他的node_modules给我也行不通,因为我是mac,他是windows
然后又使用yarn或者npm重新安装依赖,依旧凉凉
最后的最后,崩溃到极致,问了chatgpt,它让我强制清除缓存
我执行了npm cache clean --force,再重新npm install,感动天感动地啊,ok了!!!
原因分析:
我本地有多个项目可能用到了一样的依赖,之前执行过安装就会被缓存到本地电脑上,当我执行npm install 或 yarn时相同的依赖会去缓存中读取,而不是从远程仓库下载,可能缓存中的依赖包与项目中需要使用的有冲突或不兼容,就导致了我的项目可以运行起来,但是会产生一些无法预料的错误。
铭记于心:不一样的项目第一次拉到本地时,先把电脑的npm和yarn的缓存清了,再执行install
6.28记录:由于这个项目要安装一个新的依赖,安装完后再次遇到这个问题,通过清除缓存后再执行没用,不停切换node版本和npm仓库,发现执行yarn安装的打包后bug一直在,执行npm install会有很多报错,但是项目能跑,无解。。。(本地node版本14.21.3)