Quick fixes
Try these first—they resolve most issues:| Problem | What to try |
|---|---|
| Changes not showing on your phone | Shake your phone to open the Expo menu, then tap Reload |
| Changes not showing in preview | Press R in the console to rebundle |
| App stuck or unresponsive | Stop and restart the app from the console |
Common issues
Changes aren't appearing on my device
Changes aren't appearing on my device
When you make changes but don’t see them on your phone:
- Shake your phone to open the Expo developer menu
- Tap Reload to redownload the bundle
Red error screen in Expo Go
Red error screen in Expo Go
A red error screen usually indicates a JavaScript error or missing module. Read the error message—it often points to the specific file and line.Common causes:
- A package isn’t installed or is the wrong version
- A module works on web but not on native (or vice versa)
- Syntax error in your code
- Read the error message carefully—it often tells you exactly what’s wrong
- Ask Agent to help fix the error by sharing the message
- If the error mentions a specific package, try reinstalling dependencies (see Reinstall packages)
App works on web but crashes on phone (or vice versa)
App works on web but crashes on phone (or vice versa)
Some packages or features work differently across platforms. React Native compiles to three targets: iOS, Android, and web. A library that works on web might not support native, or might need different configuration.What to try:
- Check if the package supports your platform in its documentation
- Ask Agent: “Is this package compatible with Expo Go?”
- Consider moving the functionality to your server if it’s not supported on mobile
QR code won't scan or app won't connect
QR code won't scan or app won't connect
Check your network:
- Your phone and computer must be on the same WiFi network
- Some corporate or public networks block the connection
npx expo start --tunnel in the shell.Restart Expo Go:
Close Expo Go completely and reopen it before scanning.Build takes a long time
Build takes a long time
The first build is always slower because there’s no cache. Subsequent builds should be faster.What affects build time:
- Number of packages in your project
- First run after clearing the cache
- Network speed when downloading packages
Module not found errors
Module not found errors
When you see “Unable to resolve module” or “Module not found”:
- The package might not be installed—ask Agent to install it
- The package might be installed but the cache is stale—clear the cache
- The package might not exist or be misspelled—check the package name
Debugging commands
When quick fixes don’t work, these commands help reset various caches and states. Run them in the Shell.Clear the Metro cache
Metro is the bundler that compiles your React Native code. Clearing its cache forces a fresh build. In the shell, run:Reinstall packages
If you’re seeing module errors or version mismatches, reinstalling packages often helps. In the shell, run:package.json.
If your project uses a different package manager (like
bun or pnpm), use the appropriate install command: bun install or pnpm install.Check for version mismatches
Expo Doctor scans your project for common issues like version mismatches between packages. In the shell, run:Full reset
When nothing else works, a full reset clears all caches and reinstalls everything.Nuclear option: Full reset command
Nuclear option: Full reset command
This command removes all caches and reinstalls packages from scratch. Use it as a last resort.What this does:
rm -rf node_modules— Deletes installed packagesrm -rf .expo— Deletes Expo’s local cachenpm cache clean --force— Clears npm’s global cachenpm install— Reinstalls all packagesnpx expo start --clear— Starts with a fresh Metro cache
Clear cache on your device
If the app on your phone seems stuck with old code even after reloading:- iOS: In Expo Go, go to Settings and tap Clear Cache
- Android: Go to Settings > Apps > Expo Go > Storage > Clear Cache
Quick reference
| Problem | Try first | Then try |
|---|---|---|
| Changes not showing | Shake phone → Reload | Clear Metro cache |
| Bundler errors | npx expo start --clear | Delete node_modules |
| Module not found | Reinstall dependencies | Full reset |
| Version mismatch warnings | Run npx expo-doctor | Evaluate suggested fixes |
| New package not working | Restart the server | Clear Metro cache |
| Changed app.json | Restart the server | — |
Getting more help
If you’re still stuck:- Ask Agent: Describe the error and what you’ve tried. Agent can often diagnose and fix issues.
- Check Expo docs: The Expo troubleshooting guide covers additional scenarios.
- Search the error: Copy the exact error message and search—someone has likely encountered it before.
Next steps
- Return to Native Mobile Apps
- Learn the full publishing flow: Build and launch a mobile app