andpor / react-native-sqlite-storage

Full featured SQLite3 Native Plugin for React Native (Android and iOS)
MIT License
2.75k stars 521 forks source link

Autolink not working for React Native 0.69 #522

Open mitsuharu opened 2 years ago

mitsuharu commented 2 years ago
## Expected Behavior React Native 0.69 autolink works with react-native-sqlite-storage. ## Current Behavior React Native 0.69 autolink does not work, since it changes react-native cli, https://github.com/react-native-community/cli/pull/1537. ## Possible Solution It removes deprecated params from `react-native.config`. ## Steps to Reproduce (for bugs) 1. create a new React Native Project version 0.69 2. install react-native-sqlite-storage 3. call `openDatabase` method then show below message. `[TypeError: null is not an object (evaluating 'NativeModules["SQLite"][method]')]`

Context

Your Environment

Debug logs

pigpudle commented 2 years ago

+1

roberthobblebottom commented 2 years ago

I have the same error.


TypeError: null is not an object (evaluating 'NativeModules["SQLite"][method]')
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:95:4 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:141:19 in handleException
at node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:6 in handleError
at node_modules/@react-native/polyfills/error-guard.js:49:36 in ErrorUtils.reportFatalError
at node_modules/metro-runtime/src/polyfills/require.js:203:6 in guardedLoadModule
at http://127.0.0.1:19000/node_modules/expo/AppEntry.bundle?platform=android&dev=true&hot=false&strict=false&minify=false:161585:3 in global code

while following this guide

Also had a Invariant Violation: "main" has not been registered. error. Not sure what this is but I want to handle the first bug first.

My Environment

yudizAnkita commented 2 years ago

+1

rassemdev commented 2 years ago

same here. happening this with latest react native version. first this warning warn Package react-native-sqlite-storage has been ignored because it contains invalid configuration. Reason: "dependency.platforms.ios.project" is not allowed

then giving this error:

ERROR  TypeError: null is not an object (evaluating 'NativeModules["SQLite"][method]')
 ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect.
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.
 ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect.
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native
AlejandroBelloIglesias commented 2 years ago

I had to downgrade my project to 0.68.2

zhuanghongji commented 2 years ago

There is a new version of @react-native-community/cli (V8.0.3) released 2 days ago, after bump to this version, everything about react-native-sqlite-storage in my project works like before.

Note: you can check the version of @react-native-community/cli in yarn.lock, if it is not V8.0.3, maybe you should delete yarn.lock file and rerun yarn install to generate the file again and bump the version of @react-native-community/cli to latest.

featuriz commented 2 years ago

https://github.com/andpor/react-native-sqlite-storage/issues/527

Solution: https://github.com/andpor/react-native-sqlite-storage/pull/523

Yet its not merged to main. Maintainers please do merge this OR do something soon.

mitsuharu commented 2 years ago

I have added a patch file (patch-package) for this issue.

featuriz commented 2 years ago

Hello @mitsuharu I saw that file, But I don't know how to use in npm update or in my packages file. Can you please guide me on How to use this patch.

mitsuharu commented 2 years ago

@featuriz

  1. set up patch-package for your project
  2. open node_modules/react-native-sqlite-storage/react-native.config.js
  3. edit as follows
-           ios: {
-               project: './platforms/ios/SQLite.xcodeproj'
-           },
+           ios: {},
  1. run npx patch-package react-native-sqlite-storage at terminal
  2. patch-package makes react-native-sqlite-storage+6.0.1.patch and add it to {$root}/patches
  3. build your project!

https://gist.github.com/mitsuharu/2167565246e2808bb9c240cfaf6d0bf4