背景:antd pro v5 ,npm包管理。之前建项目的时候,antd的版本是4.19.0,但我看最新的4.24.0可以在<Tabs>里用items写内容,于是头脑发热,就更新到4.24.0了。发现form样式有点变化,但影响不大。写着写着,又想还是换回4.19.0。
噩梦就从这开始。明明之前4.19.0就用的好好地,为嘛现在从4.24.0换回4.19.0就不行了?
---------------------------------------------------------
解决历程:
删.umi /删node_modules/清浏览器缓存/重启电脑/重新拉代码,都不行。
现象就是:
崩溃。
更崩溃的是我明明删了4.24.0的包,重新安装了4.19.0,node_modules里还是4.24.0。还是因为只是不够丰富,我不懂package的机制。
这里我补充一下我才知道的包管理的一些规定:
package.json文件中版本号说明
- “5.0.3” 表示安装指定5.0.3版本
- “~5.0.3” 表示安装指定5.0.X最新版本
- “^5.0.3” 表示安装指定5.X.X最新版本
也就是说:我的package是^4.19.0,npm i的时候,会自动给我安装该大版本下最新的小版本,这就是为啥我的node_modules里总是4.24.0。而且直接更新某一个依赖,它只会更新最外层依赖,依赖里面的依赖是不会被更新的!
而我最终解决问题的方式是:删除有问题的分支,重新拉分支下来启动就可以了。
大概是跟windows电脑的一些缓存机制有关。有大佬知道原因的可以麻烦告诉我