cb.apply is not a function,npm does not support Node.js v12.18.4解决

用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又会回到以前的旧版本。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值