当前位置: 首页 > 后端技术 > Node.js

升级Node版本RN项目运行报错cb.applyisnotafunction

时间:2023-04-03 15:42:39 Node.js

今天打算安装Ignite,ReactNative官方推荐的脚手架工具。Ignite是一套集成了Redux和一些常用UI组件的脚手架。它带有一个命令行来生成应用程序、组件或容器。安装过程中提示当前系统安装的node版本太低无法安装,所以想升级node版本。因为系统中早就安装了nodemanagernvm,所以使用nvm升级node版本@[toc]nodeversionupgrade1.查看可以安装的node版本nvmls-remote2.选择要安装的版本nvm安装v12.18.33。查看安装的版本nvmls遇到报错,担心影响原项目,于是编译启动当前项目,编译构建成功,完美,但是APP启动时,直接报错。打包服务直接提示如下错误:Loadingdependencygraph,done。DELTA[android,dev]../../index.js????????????????0.0%(0/1)/Users/fantuan/ares/node_modules/graceful-fs/polyfills.js:285if(cb)cb.apply(this,arguments)^TypeError:cb.applyisnotafunctionat/Users/fantuan/ares/node_modules/graceful-fs/polyfills.js:285:20atFSReqCallback.oncomplete(fs.js:169:5)进程终止。按关闭窗口我在之前的项目开发中没有遇到过这种问题,影响只能去github上找答案。找到问题,查看错误源码。查看node_module/graceful-fs/polyfills.js的第285行,注释应该是用来处理旧版本的问题的。查看这个方法的调用位置,发现是给我们解决第61-63行的问题的,由于是老版本的问题,我们不用关心,只需要对调用的方法进行注解即可。关闭包服务,重启项目,一切正常。PS:在查看node.js的github上的issues的过程中,发现12.18.3版本好像确实有一些问题相关issues:2874、2871、34529、34491,有兴趣的朋友可以看看。遇到问题并不可怕,如果你面对问题并解决问题,你会再次提升自己。如果觉得文章不错,请给我点个赞关注一下!技术交流请关注微信公众号【君威说】,加我好友一起讨论微信交流群:加好友wayne214(技术交流备注)邀您进群,共同学习,共同进步