Nozbe / WatermelonDB

🍉 Reactive & asynchronous database for powerful React and React Native apps ⚡️
https://watermelondb.dev
MIT License
10.49k stars 589 forks source link

ERROR TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes #1797

Closed oushima closed 4 months ago

oushima commented 4 months ago

Hello,

I am using WatermelonDB + Expo + React-Native. I can't seem to figure out how to solve this. Could someone please help me?

I am encountering this error when I use Expo Go build on my iPhone 14 Pro. If I run it as Developer Build with an iOS emulator on my MacBook Pro, then it works fine.

Thank you in advance. Kind regards.

Error Message

› Metro waiting on exp://192.168.1.153:8081
› Scan the QR code above with Expo Go (Android) or the Camera app (iOS)

› Web is waiting on http://localhost:8081

› Using Expo Go
› Press s │ switch to development build

› Press a │ open Android
› Press i │ open iOS simulator
› Press w │ open web

› Press j │ open debugger
› Press r │ reload app
› Press m │ toggle menu
› Press o │ open project code in your editor

› Press ? │ show all commands

› Reloading apps
iOS Bundled 2610ms node_modules/expo-router/entry.js (1406 modules)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
 ERROR  TypeError: Cannot read property 'initializeJSI' of null, js engine: hermes 
    at ContextNavigator (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148462:24)
    at ExpoRoot (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:148418:28)
    at App
    at ErrorToastContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:233357:24)
    at ErrorOverlay
    at withDevTools(ErrorOverlay) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:232860:27)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at RCTView
    at View (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40819:43)
    at AppContainer (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:40662:25)
    at main(RootComponent) (http://192.168.1.153:8081/node_modules/expo-router/entry.bundle//&platform=ios&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app:118992:28)
ibb2 commented 4 months ago

Yea WatermelonDB won't work with expo go, only development builds. The error you are getting isn't a bug its just how expo works. Something to do with native modules not being support in expo go I believe.

oushima commented 4 months ago

Ah okay, I got it. Thank you!