Hi LiveKit Community,
We’re trying to integrate LiveKit into an existing Expo React Native application, but we’re blocked by npm dependency resolution errors before reaching the native build stage.
Our environment:
-
Expo: 58.0.19
-
React Native: 0.88.0
-
React: 19.3.0
-
Node.js: 24.21.0
-
npm: 11.19.0 (also tested 10.9.4)
LiveKit packages:
-
@livekit/react-native@3.1.0 -
@livekit/react-native-webrtc@150.1.1 -
@livekit/react-native-expo-plugin@1.1.0 -
@config-plugins/react-native-webrtc@15.0.2 -
livekit-client@2.23.0 -
expo-dev-client@58.0.18
The problem:
Running npm install --package-lock-only --strict-peer-deps --ignore-scripts --no-audit --no-fund fails with ERESOLVE.
The primary conflict occurs through:
@livekit/react-native → @livekit/components-react → react-dom@19.3.1
react-dom@19.3.1 requires react@^19.3.1, while our application uses react@19.3.0.
In other isolated tests, npm also encountered conflicts involving Expo Router and react-server-dom-webpack.
We’ve reproduced the issue with npm 10 and npm 11, including when starting from our existing Expo SDK 58 lockfile.
Our questions:
-
Has anyone successfully installed LiveKit React Native with Expo SDK 58, React Native 0.88, and React 19.3.0?
-
If so, which exact package versions and dependency configuration worked?
-
Is there a supported way to resolve the
@livekit/components-react/react-dompeer conflict without using--forceor--legacy-peer-deps? -
Is this a known dependency resolution issue with LiveKit React Native 3.1.0?
We’re looking for a reproducible, peer-compatible installation rather than a workaround that disables dependency validation.
Any guidance or a working example would be greatly appreciated.
Thank you!