mdac版本过低怎么升级_升级Node版本RN项目运行报错cb.apply is not a function

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

infinitered/ignite​github.com

Ignite是一套整合了 Redux 以及一些常见 UI 组件的脚手架。它带有一个命令行可以生成 app、组件或是容器。

在安装的过程中,提示当前系统安装的node版本过低,无法安装,于是就想升级一下node的版本。

因为系统中早就安装了node的管理器nvm,所以使用了nvm来升级node的版本

node版本升级

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

nvm ls-remote

ec00cf12091768b6f7c79763c0659dc9.png

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

nvm install v12.18.3

3.查看已安装的版本

nvm ls

8fe75501b5710e939c3d6aa5d65f0fbb.png

遇到报错

担心会影响原有项目,所以编译启动了当前项目,编译build success,完美,but,APP启动直接就把报错了。

package服务直接提示了如下错误:

749e9866c87b977ded783d4a5ac5e072.png
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行

e5b7f4ea469a245b1b9575e143334624.png

看注释应该用来处理旧版本的问题,查看这个方法的调用位置发现在61-63行

8f574f55c018dc59f13ed17582377952.png

解决问题

对于我们来说,既然是旧版的问题,我们就不用关心了,直接把调用的方法注释调就行了。

75fce6420c4f9ec39e1159e10ad49e48.png

关闭package服务,重新启动项目就一切正常了。

PS: 查阅node.js的github上issues过程中,发现12.18.3这个版本貌似确实有些问题相关的issues:

error cb.apply is not a function · Issue #2874 · nodejs/help​github.com NodeJs v12.18.3 not supported by bundled npm v5.5.1 on Ubuntu 20 · Issue #2871 · nodejs/help​github.com node 12.18.3 fails with TypeError: cb.apply is not a function in graceful-fs · Issue #34529 · nodejs/node​github.com node v12.18.3 doesn't work with npm v6.9.2 and below · Issue #34491 · nodejs/node​github.com
96982782b697ac5f27050d00c85dfa22.png

感兴趣的朋友可以看看。

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

觉得文章不错的,给我点个赞哇,关注一下呗!
技术交流可关注微信公众号【君伟说】,加我好友一起探讨
微信交流群:加好友wayne214(备注技术交流)邀你入群,抱团学习共进步
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值