問題一
描述
運行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降低版本號