用webstorm的terminal中输入npm install提示:
npm WARN npm npm does not support Node.js v12.18.4
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9, 10.
npm WARN npm You can find the latest version at https://nodejs.org/
npm ERR! cb.apply is not a function
①首先检查了电脑的node版本和npm版本是否对应:
分别在cmd用node -v 和npm -v 发现版本号是对应上的
最后发现在webstorm的terminal输入npm -v的版本要比系统的版本更低
但是IDE里Settings里npm版本又是正确的。
所以根本的问题就是要更新项目中npm的版本,但是项目的中的npm版本低,使用就会报cb.apply is not a function
报错所以需要更新版本,更新版本用到npm所以会报错 好一个死锁😂
我将项目中node_modules中的npm文件夹删掉,再将系统的npm文件夹(node.js的安装文件夹 我的是D:\Program Files\nodejs\node_modules\npm)移到项目的node_modules文件夹里,然后在terminal执行 npm i npm@6.14.6(需要的对应版本)
成功解决!!
至于为什么将系统正确版本的npm文件夹移到项目了,还要更新npm?
是因为我试过发现,单纯移动文件夹,package-lock.json中npm的版本还是以前的旧版本,只有第一次执行npm的时候,版本是正确的。之后npm又会回到以前的旧版本。