Install expo-dev-client in an existing React Native project

Edit this page

Learn how to install and configure expo-dev-client in your existing React Native project.


The following guide explains how to install and configure expo-dev-client in an existing React Native project.

Do you need to create a new project?

If you're starting with a new project, create it using the with-dev-client template:

Terminal
npx create-expo-app -e with-dev-client
Do you use Continuous Native Generation (CNG) in your project?

To use expo-dev-client in a project that uses CNG, see Create a development build.

Prerequisites

The expo package must be installed and configured. If you created your project with npx @react-native-community/cli@latest init and do not have any other Expo libraries installed, you will need to install Expo modules before proceeding.

1

Install expo-dev-client

Add the expo-dev-client library to your package.json:

Terminal
npx expo install expo-dev-client

If your project has an ios directory on disk, run the following command to fully install the native code for expo-dev-client:

Terminal
npx pod-install

If your project doesn't have an ios directory, you can skip this step.

2

Configure deep links

Expo CLI uses a deep link to launch your project, and it's also useful if you use plan to use expo-dev-client for launching preview updates if you have added a custom deep link scheme to your project.

If you haven't configured a scheme for your app yet to support deep linking, then use uri-scheme library to do this for you.

Terminal
# List your project's schemes
npx uri-scheme list

# Add a scheme to your project
npx uri-scheme add your-scheme

For more information, see the uri-scheme library.

3

Add additional optional configuration

For certain types of errors, you can obtain more helpful error messages when using expo-dev-client. To turn this on, import expo-dev-client in the project's index file. Make sure that the import statement is executed early, before your application's JS code is imported (place the import above import App from './App').

import 'expo-dev-client';
%%placeholder-start%%... %%placeholder-end%%
import App from './App';

For more information, see Error handling.

4

Build and install the app

Create a debug build of your app using the tools of your choice. For example, you can do this locally with Expo CLI or in the cloud with EAS Build.