npm版本安装问题
问题一
描述
运行npm install之后,前端页面console控制台报错,invalid props。
排查
1. 排除了代码问题,完全一样的代码,其他人的运行无误。
2.猜想可能是版本号问题,查看了package.json,antd的版本号为3.11.6,但是package-lock.json中的版本号为3.12.6,随后去antd的git官网查看其最新版本号为3.12.3
尝试解决方法
方法一、重新运行npm install,并没有修改package-lock.json中的版本号,程序还是报错
方法二.、运行npm install antd@3.11.6,package-lock.json中的版本号变为3.11.6,查询运行成功
验证猜想
1. package.json与package-lock.json的antd版本号都为3.11.6,修改package.json中的版本号为3.12.3,运行npm install,package-lock.json版本号变为3.12.3
2.修改package.json中的版本号为3.11.6,运行npm install,package-lock.json版本号没有改变,实际安装版本即node_modules下的antd包变为3.12.3
3.运行npm install antd@3.11.6,package-lock.json的版本号变为3.11.6,node_modules目录下的antd包被删除
4.运行npm uninstall, 会删除package.json,package-lock.json的antd版本号记录,node_modules目录下的antd包也被删除
5.运行antd install, package.json,package-lock.json新增一条antd版本号记录,node_modules目录下新增antd包,版本号为最新版本号3.12.3
结论
一、修改的package.json中的包版本号比package-lock.json中的版本号高时,npm install可以修改项目版本号;反之,如果版本号比package-lock中的版本号低时,该包的实际版本号保持不变
二、如需降低版本号,可以通过npm install packageName@packageVersion降低版本号