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

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

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

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

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

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

@[toc]

node版本升级


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

nvm ls-remote

微信图片_20220610111934.png

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

nvm install v12.18.3

3.查看已安装的版本

nvm ls

微信图片_20220610112022.png


遇到报错


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

package服务直接提示了如下错误:微信图片_20220610112104.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行微信图片_20220610112145.png

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

解决问题


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

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

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

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

目录
相关文章
|
2月前
|
Linux Python
【Azure Function】Python Function部署到Azure后报错No module named '_cffi_backend'
ERROR: Error: No module named '_cffi_backend', Cannot find module. Please check the requirements.txt file for the missing module.
|
1月前
|
JavaScript Linux iOS开发
详解如何实现自由切换Node.js版本
不同的项目中需要使用不同版本的 Node.js,有时旧项目需要旧版本,而新项目则可能依赖最新的 Node.js 版本
46 0
|
2月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
38 2
|
2月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)
|
3月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
115 4
|
3月前
|
缓存 资源调度
解决node升级到18版本node-sass安装问题
解决node升级到18版本node-sass安装问题
|
1月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新特性,与传统函数相比,它有更简洁的语法,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。箭头函数不适用于构造函数,不能使用new关键字调用。
|
2月前
|
数据可视化 开发者 索引
详解Wireshark LUA插件函数:function p_myproto.dissector(buffer, pinfo, tree)
在 Wireshark 中,LUA 插件通过 `function p_myproto.dissector(buffer, pinfo, tree)` 扩展协议解析能力,解析自定义应用层协议。参数 `buffer` 是 `PacketBuffer` 类型,表示原始数据包内容;`pinfo` 是 `ProtoInfo` 类型,包含数据包元信息(如 IP 地址、协议类型等);`tree` 是
89 1

热门文章

最新文章