升级Node版本RN项目运行报错cb.apply is not a function

今日打算安装一下ReactNative官方推荐的脚手架工具Ignite。

 

node版本升级

1.查看可以安装的node版本

nvm ls-remote
  • 1

升级Node版本RN项目运行报错cb.apply is not a function

2.选择一个版本进行安装

nvm install v12.18.3
  • 1

3.查看已安装的版本

nvm ls
  • 1

升级Node版本RN项目运行报错cb.apply is not a function

遇到报错

担心会影响原有项目,所以编译启动了当前项目,编译build success,完美,but,APP启动直接就把报错了。
package服务直接提示了如下错误:
升级Node版本RN项目运行报错cb.apply is not a function

Loading dependency graph, done.
 DELTA  [android, dev] ../../index.js ???????????????? 0.0% (0/1)/Users/fantuan/ares/node_modules/graceful-fs/polyfills.js:285
        if (cb) cb.apply(this, arguments)
                   ^

TypeError: cb.apply is not a function
    at /Users/fantuan/ares/node_modules/graceful-fs/polyfills.js:285:20
    at FSReqCallback.oncomplete (fs.js:169:5)
Process terminated. Press <enter> to close the window

 

之前项目开中并未遇到此类问题,影响了我的工作,只能通过去github上寻求答案咯。

查找问题所在

查看报错的源码,在node_module/graceful-fs/polyfills.js的285行
升级Node版本RN项目运行报错cb.apply is not a function
看注释应该用来处理旧版本的问题,查看这个方法的调用位置发现在61-63行
升级Node版本RN项目运行报错cb.apply is not a function

解决问题

对于我们来说,既然是旧版的问题,我们就不用关心了,直接把调用的方法注释调就行了。
升级Node版本RN项目运行报错cb.apply is not a function
关闭package服务,重新启动项目就一切正常了。

PS: 查阅node.js的github上issues过程中,发现12.18.3这个版本貌似确实有些问题相关的issues:2874287134529 、34491感兴趣的朋友可以看看。

遇到问题不可怕,面对它解决它,你就又提升了自己。

升级Node版本RN项目运行报错cb.apply is not a function

上一篇:frida远程注入 frida远程连接手机 frida -H


下一篇:7. Vue3 实现toDoList,以及类似京东App搜索缓存数据功能