react-native-gesture-handler
react-native-gesture-handler copied to clipboard
TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found
Description
In process of installing @gorhom/bottom-sheet package, I was installing the gesture-handler package. I followed all the steps of installation which included adding import statements (import 'react-native-gesture-handler') to both App.tsx and index.js. In app.tsx, GestureHandlerRootView wraps the contents. The code breaks even when I comment out the @gorhom/bottom-sheet package and components.
Of course in debugging this whole debacle,
- Deleted the pod files, podfile.lock, and node_modules folder.
- Pod install and npm install in respective folders
- Clean build folder in xcode
- Deleted DerivedData
- Rebuild
Since this is very similar to #2749, I've tried all the solutions there. Nothing has worked.
Steps to reproduce
- Install @gorhom/bottom-sheet, react-native-reanimated, react-native-gesture-handler
- Finish installation steps for all three packages
Snack or a link to a repository
https://github.com/lynajiang/Project-Lemon-Issue-Code.git
Gesture Handler version
2.16.0
React Native version
0.73.6
Platforms
iOS
JavaScript runtime
None
Workflow
React Native (without Expo)
Architecture
Paper (Old Architecture)
Build type
None
Device
Real device
Device model
iPhone 14 Pro iOS 17.4
Acknowledgements
Yes
Hi @lynajiang! I've just build your app on both, iOS simulator and real device and everything works fine (though there was an error that useMemo
was not imported). Are you sure you've properly cleaned your environment? Make sure to delete pods
and node_modules
Yes. I am sure I properly cleaned the environment. I uninstalled and reinstalled a couple of times. If I were to comment out "import 'react-native-gesture-handler';" in both App.tsx and index.js as well as import { GestureHandlerRootView } from 'react-native-gesture-handler'; in App.tsx (and commenting out GestureHandlerRootView). I would not get any errors. This of course would make the bottomsheet component error since the Gesture Handler module is not sufficiently installed.
In that case could you provide more information about this error? Like stack trace or full error message?
Also, have you encountered this issue before? Did it happen after upgrading gesture handler (or react native) version?
The full error message is: ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: false. TurboModule interop: false. Modules loaded: {"NativeModules":["PlatformConstants","LogBox","Timing","AppState","SourceCode","BlobModule","WebSocketModule","SettingsManager","DevSettings","RedBox","Networking","Appearance","DevLoadingView","UIManager","DeviceInfo"],"TurboModules":[],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","BugReporting","HeadlessJsTaskSupport","RNGestureHandlerModule"]}, js engine: hermes LOG Running "Lemon" with {"rootTag":1,"initialProps":{}} ERROR Invariant Violation: "Lemon" has not been registered. This can happen if:
- Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
- A module failed to load due to an error and
AppRegistry.registerComponent
wasn't called., js engine: hermes
And I have never used react-gesture-handler before. I had just installed the most up-to-date version of both react-native and react-gesture-handler packages.
I also have pushed a cleaner version of the code.
I had the same trouble as you @lynajiang (new app with latest react-native
: 0.73.6
and latest react-native-gesture-handler
: 2.16.0
. Downgrading to 2.15.0
unblocked me.
@anucreative Thank you! After downgrading gesture-handler to 2.15.0, it worked.
Though downgrading may help, it is not a solution that we recommend. I will keep this issue open until we find out what causes that problem.
I am also facing the same issue
I am currently facing the same issue here. Is this beacuse dependency problem during instalation, because i use react 18 on my project.. Here is the log result upon installing rect-native-gesture-handler. Please note that after i user yard, the package installed in my node_module project yet i get the ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found.
Here is the error upon installing react-native-gesture-handler npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: [email protected] npm ERR! Found: @types/[email protected] npm ERR! node_modules/@types/react npm ERR! dev @types/react@"^18.2.6" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @types/react@"^16.9.19" from [email protected] npm ERR! node_modules/native-base npm ERR! native-base@"3.3.1" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report see: npm ERR! /Users/patricktelnoni/.npm/_logs/2024-04-26T16_34_16_030Z-eresolve-report.txt
npm ERR! A complete log of this run can be found in: /Users/patricktelnoni/.npm/_logs/2024-04-26T16_34_16_030Z-debug-0.log npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: [email protected] npm ERR! Found: @types/[email protected] npm ERR! node_modules/@types/react npm ERR! dev @types/react@"^18.2.6" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @types/react@"^16.9.19" from [email protected] npm ERR! node_modules/native-base npm ERR! native-base@"3.3.1" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report see: npm ERR! /Users/patricktelnoni/.npm/_logs/2024-04-26T16_34_16_030Z-eresolve-report.txt
npm ERR! A complete log of this run can be found in: /Users/patricktelnoni/.npm/_logs/2024-04-26T16_34_16_030Z-debug-0.log
I experience the same, tried downloading to 2.15.0 from 2.16.0. It is working when running npm start, but when I tried to convert it to aar and upload to a native android. this error shows up. I hope someone can help me on this.
Gesture Handler version 2.16.0
React Native version 0.74.1
Platform Android
Type AAR
Unhandled SoftException com.facebook.react.bridge.ReactNoCrashSoftException: Tried to access onWindowFocusChange while context is not ready at com.facebook.react.runtime.ReactHostImpl.onWindowFocusChange(ReactHostImpl.java:674) at com.facebook.react.ReactDelegate.onWindowFocusChanged(ReactDelegate.java:194) at com.facebook.react.ReactActivityDelegate.onWindowFocusChanged(ReactActivityDelegate.java:175) at com.facebook.react.ReactActivity.onWindowFocusChanged(ReactActivity.java:128) at androidx.appcompat.view.WindowCallbackWrapper.onWindowFocusChanged(WindowCallbackWrapper.java:125) at com.android.internal.policy.DecorView.onWindowFocusChanged(DecorView.java:1788) at android.view.View.dispatchWindowFocusChanged(View.java:15933) at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1509) at android.view.ViewRootImpl.dispatchFocusEvent(ViewRootImpl.java:4059) at android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:3963) at android.view.ViewRootImpl.-$$Nest$mhandleWindowFocusChanged(Unknown Source:0) at android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(ViewRootImpl.java:5954) at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5862) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules":["PlatformConstants","DeviceInfo","DeviceEventManager","BlobModule","NativeAnimatedModule"],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","HeadlessJsTaskSupport","NativeReactNativeFeatureFlagsCxx","RNGestureHandlerModule"]}
I experience the same, tried downloading to 2.15.0 from 2.16.0. It is working when running npm start, but when I tried to convert it to aar and upload to a native android. this error shows up. I hope someone can help me on this.我也有同样的经历,尝试从2.16.0下载到2.15.0。它在运行 npm start 时工作,但是当我尝试将其转换为 aar 并上传到本机 android 时。出现此错误。我希望有人能在这方面帮助我。
Gesture Handler version 手势处理程序版本 2.16.0
React Native version 反应本机版本 0.74.1
Platform 平台 Android 安卓
Type 类型 AAR
Unhandled SoftException com.facebook.react.bridge.ReactNoCrashSoftException: Tried to access onWindowFocusChange while context is not ready at com.facebook.react.runtime.ReactHostImpl.onWindowFocusChange(ReactHostImpl.java:674) at com.facebook.react.ReactDelegate.onWindowFocusChanged(ReactDelegate.java:194) at com.facebook.react.ReactActivityDelegate.onWindowFocusChanged(ReactActivityDelegate.java:175) at com.facebook.react.ReactActivity.onWindowFocusChanged(ReactActivity.java:128) at androidx.appcompat.view.WindowCallbackWrapper.onWindowFocusChanged(WindowCallbackWrapper.java:125) at com.android.internal.policy.DecorView.onWindowFocusChanged(DecorView.java:1788) at android.view.View.dispatchWindowFocusChanged(View.java:15933) at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1509) at android.view.ViewRootImpl.dispatchFocusEvent(ViewRootImpl.java:4059) at android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:3963) at android.view.ViewRootImpl.-$$Nest$mhandleWindowFocusChanged(Unknown Source:0) at android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(ViewRootImpl.java:5954) at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5862) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules":["PlatformConstants","DeviceInfo","DeviceEventManager","BlobModule","NativeAnimatedModule"],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","HeadlessJsTaskSupport","NativeReactNativeFeatureFlagsCxx","RNGestureHandlerModule"]}
I have same problem
same error
same error
Note that this answer is aimed at ios.
There is no need to downgrade the package. Try installing the pod
cd ios && npx pod deintegrate && npx pod install && cd ..
Then, go to Xcode and clean the project:
Product -> Clean build folder
Finally, in Xcode build and run the project by clicking the play button (arrow forward).
For me, I had nx mono repo. And I have installed react-native-gesture-handler in my main package.json file (I was not using it directly but other package:react-navigation was using it). So, react-native-gesture-handler was missing in package.json of my mobile app directory. So, I added "react-native-gesture-handler": "*" in package.json inside my mobile directory, pod install in ios and then did a build run-ios. Then finally it worked.
same error, If anyone know how to fix this please help. this is happening in android
Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules":["PlatformConstants","LogBox","SourceCode","AppState","BlobModule","WebSocketModule","DevSettings","DevToolsSettingsManager","Networking","Appearance","DevLoadingView","DeviceInfo","ImageLoader","SoundManager","IntentAndroid","DeviceEventManager","NativeAnimatedModule","I18nManager"],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","HeadlessJsTaskSupport","LinkingManager","NativeReactNativeFeatureFlagsCxx","RNCSafeAreaContext","ReanimatedModule","RNGestureHandlerModule"]} {"rootTag":11,"initialProps":{},"fabric":true}
I'm also having this issue after building the APK for my app, and react-native-gesture-handler is the cause of it
Hi @lynajiang! Do you still experience this issue? If so, could you attach node_modules
to reproduction? We would like to take a closer look into them
Also, to all who are currently seeing this issue. If it happens after upgrading react-native
version, did you use React Native Upgrade Helper?
@m-bert Yes, happened to me after Rn upgrade from 0.74.2
to 0.75.1
(latest) using the RN upgrade helper. App is building successfully but unit tests fail with a similar error: Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'DevSettings' could not be found.
Same here, upgrading from.... RN 0.66 to 0.74 (don't judge me !) and mostly following the upgrade helper. Can provide more info if needed.
@anucreative Thank you! After downgrading gesture-handler to 2.15.0, it worked. Hey, @lynajiang Please show your jest.config.ts file.
Any update here ? I'm still struggling with this issue (only on android) and it's just driving me crazy has it's preventing from releasing a huge update :(
I've even tried to remove all reference to RNGestureHandler but somehow, the error sticks... even after clearing all caches...
I experience the same, tried downloading to 2.15.0 from 2.16.0. It is working when running npm start, but when I tried to convert it to aar and upload to a native android. this error shows up. I hope someone can help me on this.我也有同样的经历,尝试从2.16.0下载到2.15.0。它在运行 npm start 时工作,但是当我尝试将其转换为 aar 并上传到本机 android 时。出现此错误。我希望有人能在这方面帮助我。 Gesture Handler version 手势处理程序版本 2.16.0 React Native version 反应本机版本 0.74.1 Platform 平台 Android 安卓 Type 类型 AAR
Unhandled SoftException com.facebook.react.bridge.ReactNoCrashSoftException: Tried to access onWindowFocusChange while context is not ready at com.facebook.react.runtime.ReactHostImpl.onWindowFocusChange(ReactHostImpl.java:674) at com.facebook.react.ReactDelegate.onWindowFocusChanged(ReactDelegate.java:194) at com.facebook.react.ReactActivityDelegate.onWindowFocusChanged(ReactActivityDelegate.java:175) at com.facebook.react.ReactActivity.onWindowFocusChanged(ReactActivity.java:128) at androidx.appcompat.view.WindowCallbackWrapper.onWindowFocusChanged(WindowCallbackWrapper.java:125) at com.android.internal.policy.DecorView.onWindowFocusChanged(DecorView.java:1788) at android.view.View.dispatchWindowFocusChanged(View.java:15933) at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1509) at android.view.ViewRootImpl.dispatchFocusEvent(ViewRootImpl.java:4059) at android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:3963) at android.view.ViewRootImpl.-$$Nest$mhandleWindowFocusChanged(Unknown Source:0) at android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(ViewRootImpl.java:5954) at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5862) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules":["PlatformConstants","DeviceInfo","DeviceEventManager","BlobModule","NativeAnimatedModule"],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","HeadlessJsTaskSupport","NativeReactNativeFeatureFlagsCxx","RNGestureHandlerModule"]}
I have same problem
do you find any way ? my whatsapp +91 9213120419
I'm new posting comments on github, I don't know if theres any kind of rule to refer a link.. but I solved this error based on this issue resolution
#2749