查看node的位置_升级Node版本RN项目运行报错cb.apply is not a function
今日打算安裝一下ReactNative官方推薦的腳手架工具Ignite。
infinitered/ignite?github.comIgnite是一套整合了 Redux 以及一些常見 UI 組件的腳手架。它帶有一個命令行可以生成 app、組件或是容器。
在安裝的過程中,提示當前系統安裝的node版本過低,無法安裝,于是就想升級一下node的版本。
因為系統中早就安裝了node的管理器nvm,所以使用了nvm來升級node的版本
node版本升級
1.查看可以安裝的node版本
nvm ls-remote2.選擇一個版本進行安裝
nvm install v12.18.33.查看已安裝的版本
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:285if (cb) cb.apply(this, arguments)^ TypeError: cb.apply is not a functionat /Users/fantuan/ares/node_modules/graceful-fs/polyfills.js:285:20at 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:
error cb.apply is not a function · Issue #2874 · nodejs/help?github.comNodeJs v12.18.3 not supported by bundled npm v5.5.1 on Ubuntu 20 · Issue #2871 · nodejs/help?github.comnode 12.18.3 fails with TypeError: cb.apply is not a function in graceful-fs · Issue #34529 · nodejs/node?github.comnode v12.18.3 doesn't work with npm v6.9.2 and below · Issue #34491 · nodejs/node?github.com感興趣的朋友可以看看。
遇到問題不可怕,面對它解決它,你就又提升了自己。
覺得文章不錯的,給我點個贊哇,關注一下唄!技術交流可關注微信公眾號【君偉說】,加我好友一起探討
微信交流群:加好友wayne214(備注技術交流)邀你入群,抱團學習共進步
總結
以上是生活随笔為你收集整理的查看node的位置_升级Node版本RN项目运行报错cb.apply is not a function的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯第三季度营收1546亿元 净利润36
- 下一篇: 一体式压铸技术惹争议,特斯拉试图向保险公