配置问题
Node.js版本过高导致的问题
机器人应用(OPK)开发依赖的Node.js版本不能高于V13,否则有可能出现各种莫名其妙的问题,如果在开发或编译中遇到了一些非常规问题,可先检查下Node.js的版本
babel库升级导致的崩溃
崩溃信息:
0SNativeModuleCallExceptionHandler handleExceptioncomfacebookreact.commonavascriptException: Requiring unknown module "nade modules ebabel runtimehelpersinteropRequireDefault.js": stack: 0NativeModuleCalLExceptiomHandler:unknownModuleErrora2:1844 0NativeMedulecal1FxceetiocHander:londModuleieolesentatian82:1887 ativeHeduleCalTExcectionHandler:cunrdedLondHodule02:6240sNativeModueCatLExceotocHandlermetroReouire2:6540SNativeModuleCalLExceptionHandler:cunknow>@1:35 0NativeModuleCalLExceptiomHandler:loadModuleImplementationa2;2175 oativeMeduleCal1ExcrptionHandler:quardedLondModule02:53105NativeModuleCallExceotiocHandler:netroReouire82:6540SNativeModuleCallExceptionHandler: cunknprp0286:1 osativeModuleCalLExceptionHandler: oiativeMeduleCallExccetiorHandler: at enm facchank react mdiles.face FveentinncMinsnerModile chodeThem srearlFycentinncMhnanerMadile,saunasal owativeMeduleCal1ExccotiocHandler: tcomfacebookreact.modulescore.ExceptionsManacerModule.reportFatalException(ExceotionsManacerModule.iava:38 0SNativeModuteCallExceptionHandler: at iave.lamg.reflect.Hethod.invoke(Native Methad] OSNativeModuleCalLExceptionHandler: atcomfacebookreact.bridgeJavaMethodWrapper.invoke(JavaMethodwrapper.java:372) oNativeeduleCal1ExceptiomHandler: atcomfacebockreactbridgeavaModulewrapcer.invoke(JavaModulewrapper.iava:158 ONat iveModuleCal1ExceptionHandler: atcom.facebock.react.bridge.qucue.NativeRurnable.run(Native Bethad) OSativeModuleCalLExceptionHandler: at android.os.Handler.handleCallback(Handler.java:873) 04ativeModuleCalExceptionHande:tandroidoHanderdispatchMcssagelHandler.iava:99) oeiativeMedulefaliFxceetiocHandier: nt cnmfacehock.react.hrideenupe.MecrnoefeThreadHandlerdisnatchMeesnoe fMessagedueneThreadHandler. fava: 29)
问题原因:
package.json中引用第三方库使用了^符号,会自动匹配新版本,@babel库升级后新老版本不兼容,导致持续崩溃。
解决方案:
检查package.json文件,把 @babel/runtime 版本号里的^去掉。
注意:package.json中的依赖尽量避免使用^符号,明确依赖库的版本,避免自动升级出现不兼容的情况
引入高版本React Native导致编译失败问题
异常信息:
问题原因:
package.json依赖中引入了高版本的react-native导致。
解决方案:
去除package.json中的react-native依赖,react-native已默认集成,不需要手动添加依赖,去除后需要删除node_modules文件夹。
react-native/cli.js is not exist
异常信息:
问题原因:
- node版本过高引起
- package.json中name包含中文引起
解决方案:
- 降低node版本
- package.json中的name使用英文