React Native Expo build fails unknown property hermesEnabled

React Native Expo Build Fails: “unknown property ‘hermesEnabled'” – A Solution Guide

You’re working on your React Native Expo project, everything seems fine, and then BAM! You try to build your app and encounter the dreaded “unknown property ‘hermesEnabled'” error. This error is particularly perplexing since it seems to occur out of the blue, leaving you feeling lost and frustrated.

Don’t worry, this article will break down the common reasons for this error and provide you with solutions to get you back on track.

Understanding the Error:

The “unknown property ‘hermesEnabled'” error usually arises when your Expo project is trying to use the hermesEnabled property within your app.json file. This property is associated with the Hermes JavaScript engine, which is a high-performance alternative to JavaScriptCore for running React Native apps.

The Most Common Causes:

  • Outdated Expo CLI: The hermesEnabled property might be a feature introduced in a newer version of the Expo CLI. You could be using an outdated version, causing the error.
  • Outdated Expo SDK: Similar to the CLI, the Expo SDK versions also dictate the available features, and the hermesEnabled property might be exclusive to later versions.
  • Incorrect Configuration: The hermesEnabled property should be placed within the “expo” section of your app.json file, not directly at the root level.

Solutions to Fix the Error:

1. Update your Expo CLI:

  • Open your terminal and run npm install -g expo-cli or yarn global add expo-cli to update your Expo CLI to the latest version.

2. Update your Expo SDK:

  • Open your app.json file and increase the sdkVersion to the latest compatible version. You can refer to the Expo documentation for the latest versions: https://docs.expo.dev/

3. Correct Configuration:

  • Ensure the hermesEnabled property is correctly placed within the “expo” section of your app.json file. For instance:
{
  "expo": {
    "hermesEnabled": true,
    // other expo properties...
  },
  // other app.json properties...
}

4. Check for Custom Configurations:

  • If you have custom configurations related to the expo-build-properties package, double-check if they are conflicting with the hermesEnabled property. You might need to update these custom configurations to align with the latest Expo versions.

5. Resetting your Project (If all else fails):

  • Delete the node_modules folder.
  • Delete the package-lock.json or yarn.lock file.
  • Run npm install or yarn to re-install dependencies.
  • Try building your app again.

Important Notes:

  • Always refer to the Expo documentation for the most up-to-date information about the hermesEnabled property and other Expo features.
  • Regularly update your Expo CLI and SDK to stay up-to-date with the latest features and bug fixes.
  • Consider creating a dedicated Expo project for each of your app versions to avoid potential conflicts.

By following these steps, you should be able to resolve the “unknown property ‘hermesEnabled'” error and successfully build your React Native Expo project. Remember, keeping your tools updated and understanding the intricacies of configuration is crucial for a smoother development process.

Scroll to Top