关于node.js:升级Node版本RN项目运行报错cbapply-is-not-a-function

61次阅读

共计 1115 个字符,预计需要花费 3 分钟才能阅读完成。

今日打算装置一下 ReactNative 官网举荐的脚手架工具 Ignite。
Ignite 是一套整合了 Redux 以及一些常见 UI 组件的脚手架。它带有一个命令行能够生成 app、组件或是容器。
在装置的过程中,提醒以后零碎装置的 node 版本过低,无奈装置,于是就想降级一下 node 的版本。
因为零碎中早就装置了 node 的管理器 nvm, 所以应用了 nvm 来降级 node 的版本
@[toc]

node 版本升级

1. 查看能够装置的 node 版本

nvm ls-remote

2. 抉择一个版本进行装置

nvm install v12.18.3

3. 查看已装置的版本

nvm ls

遇到报错

放心会影响原有我的项目,所以编译启动了以后我的项目,编译 build success, 完满,but,APP 启动间接就把报错了。
package 服务间接提醒了如下谬误:

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 行

看正文应该用来解决旧版本的问题,查看这个办法的调用地位发现在 61-63 行

解决问题

对于咱们来说,既然是旧版的问题,咱们就不必关怀了,间接把调用的办法正文调就行了。

敞开 package 服务,重新启动我的项目就一切正常了。

PS:查阅 node.js 的 github 上 issues 过程中,发现 12.18.3 这个版本貌似的确有些问题相干的 issues:2874、2871、34529、34491 感兴趣的敌人能够看看。

遇到问题不可怕,面对它解决它,你就又晋升了本人。

感觉文章不错的,给我点个赞哇,关注一下呗!
技术交换可关注微信公众号【君伟说】,加我好友一起探讨
微信交换群:加好友 wayne214(备注技术交换)邀你入群,抱团学习共提高

正文完
 0