Troubleshooting
"Requiring unknown module" (Metro)
If you see an error like Requiring unknown module '@react-native-async-storage/async-storage' (or keychain, expo-secure-store), Metro is resolving optional dependencies too strictly.
Fix: In metro.config.js, enable optional dependencies:
const { getDefaultConfig } = require('expo/metro-config');
const config = getDefaultConfig(__dirname);
config.transformer ??= {};
config.transformer.allowOptionalDependencies = true;
module.exports = config;
Then restart the bundler (e.g. npx expo start --clear or npm start with cache clear).
No tabs / "No storage adapter available"
- MMKV: You must pass
mmkvInstances={[yourInstance]}. If you don’t pass any MMKV instance, the MMKV tab won’t appear. - Other storages: Ensure the corresponding package is installed and linked (e.g. run
pod installfor iOS if you added a native dependency). In Expo Go, only Async Storage and Expo Secure Store are available; MMKV and Keychain need a dev build. - Custom adapters: Ensure
isAvailable()returnstrueand that you passed the adapter incustomAdapters.
Secure Store: keys not showing
expo-secure-store has no API to list keys. The inspector maintains its own list. Either:
- Pass known key names in
secureStoreKeys, or - Add/edit keys through the inspector so they get persisted to the list.
Keychain vs Secure Store in the same app
Using both react-native-keychain and expo-secure-store in one app can lead to conflicts or redundant use of the same underlying secure storage. Prefer one for sensitive data.
Build / type errors
- Ensure you’re on a supported Node version (e.g. ≥ 18).
- Run
npm installin the project root and inwebsite/if you’re building the docs. - For TypeScript, use the types exported from
react-native-storage-inspector(e.g.StorageInspectorProps,IStorageAdapter).
Still stuck?
Open an issue with your environment (React Native/Expo version, OS, and the exact error or behavior): GitHub Issues.