@vue/cli v4.5.4与Node v12.18.3兼容问题求助
解决@vue/cli v4.5.4与Node v12.18.3的npm版本冲突问题
刚好碰到过类似的版本冲突坑,来给你理清楚前因后果和已验证的解决办法:
问题还原
我当时遇到的情况和你一模一样:
- 使用@vue/cli v4.5.4,本地Node版本是v12.18.3
- 发现vue/cli默认调用npm v6.4.0,但本地全局npm是v6.14.8
- 执行
vue create <projectname>时直接报错:npm err! cb.apply is not a function
- 日志里明确显示版本不匹配:
19 verbose node v12.18.3 20 verbose npm v6.4.0 21 error cb.apply is not a function
一开始我也在纠结:是不是只能降级Node来适配npm v6.4.0?有没有不用降级的兼容方案?
已验证的有效解决方法
问题已经完美解决,正确操作是:彻底重装Node.js和npm,然后重启系统
为什么这个方法管用?
这种cb.apply is not a function的报错本质是版本环境冲突:vue/cli内部调用的npm v6.4.0和你本地全局的npm v6.14.8,在环境变量、缓存文件或者依赖残留上出现了冲突,导致Node无法正确执行npm的回调函数。彻底重装能清除所有残留的旧版本文件,让系统重新建立一套一致的Node+npm环境,从根源上解决版本不兼容的问题。
内容的提问来源于stack exchange,提问作者redr0ad
相关产品推荐
相关产品推荐

