Common React Native errors
We’ve put together a quick checklist to help teams troubleshoot the most common causes for build failures.
Here’s what you can to do quickly diagnose and likely resolve build errors:
See Troubleshooting Errors for coverage of specific errors.
Clone your repo and check if your app builds locally
It’s important to make sure there are no discrepancies between your remote branch and local git state.
Buddybuild creates a fresh clone of your code and executes build commands on every commit.
Here’s how to replicate this process and ensure your remote branch is up to date:
Clone your repo into a new location / folder on your machine
Make sure that the node version installed on your machine is what’s being used on buddybuild
Do a fresh npm install and attempt to build your app
Double check your third party dependencies
Make sure that the node version you are using locally is the same as what’s being used to build the branch you’re having issues with.
A frequently seen issue is a
package.jsonthat specifies non-explicit versions of package dependencies (i.e. using carets
~). This might result in failed builds because different versions of dependencies are being installed on buddybuild than what is being used on your local machine. Our recommendation is to either remove these characters or to move to using yarn, which has a corresponding yarn.lock that specifies the exact versions you’re using locally.
Make sure your app is configured to generate an offline bundle
App crash on launch
If your React Native app crashes on launch, and the buddybuild SDK has not been installed, it may not be obvious where to start looking to diagnose the problem.
The most common cause of this issue is a missing
Local builds appear to work because the file is available. When the file
is missing from your repository, buddybuild can successfully build your
React Native app but the app crashes on launch.
To confirm the exact cause of a crash on launch, examination of the device’s logs is necessary. If the buddybuild SDK has been installed, you can check the dashboard for a crash report. Otherwise, see getting device logs from Xcode.
Unable to resolve module <module name> from <path>: Module does not exist in the module map or in these directories:
We’ve found that this error is generally caused by using wildcards (
~) in your
Our recommendation is to either remove the wildcards, or to move to using yarn and committing your yarn.lock.
Could not get BatchedBridge, make sure your bundle is packaged properly
This indicates that your app is not correctly configured to generate offline bundles, which is required for apps generated using continuous integration systems like buddybuild.
Look to Make sure your app is configured to generate an offline bundle as to how to configure your app to resolve this.
React/RCTViewManager.h file not found
This generally indicates that you are using a buddybuild-generated scheme
that is not correctly adding
libReact.a as a target dependency.
In these instances, we recommend that you share your scheme and configure your app to use your shared scheme rather than buddybuild’s generated scheme. See Missing schemes for details.
FBSDKShareKit/FBSDKShareKit.h file not found
This is generally a result of an incorrectly configured repository with regards to the location of FBSDK dependencies.
You will notice that RCTFBSDK will look for dependencies in one of two locations:
The second option is the correct option for continuous integration systems like buddybuild.
In other words, you MUST place your FBSDK dependencies under the
ios/Frameworks folder in order for it to work on a continuous
/node_modules/react-native-root-siblings/lib/AppRegistryInjection.js: Module does not exist in the module map
This error indicate that there is an incompatibility between one of your
dependencies and the version of React Native set in your
file. For this specific error,
react-native version 0.48 (or higher)
error: method does not override or implement a method from a supertype
If you have upgraded to React Native 0.48 (or higher) and start seeing
these errors, it means that one of your dependencies set in your
package.json file is incompatible with that version of React Native
and needs to be updated.