Expo无法解析expo-router模块问题求助
解决Expo Go中expo-router模块无法解析的问题
作为React Native新手,使用Expo Go创建新项目时反复遇到expo-router模块无法解析的错误,之前修复过的项目现在也复现该问题,具体错误信息如下:
Unable to resolve module ./node_modules/expo-router/entry from /Users/[me]/Documents/[03] Code/[app]/.: None of these files exist: * node_modules/expo-router/entry(.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.mjs|.native.mjs|.mjs|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json|.ios.cjs|.native.cjs|.cjs|.ios.scss|.native.scss|.scss|.ios.sass|.native.sass|.sass|.ios.css|.native.css|.css) * node_modules/expo-router/entry/index(.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.mjs|.native.mjs|.mjs|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json|.ios.cjs|.native.cjs|.cjs|.ios.scss|.native.scss|.scss|.ios.sass|.native.sass|.sass|.ios.css|.native.css|.css) RCTFatal __28-[RCTCxxBridge handleError:]_block_invoke _dispatch_call_block_and_release _dispatch_client_callout _dispatch_main_queue_drain _dispatch_main_queue_callback_4CF __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ __CFRunLoopRun CFRunLoopRunSpecific GSEventRunModal -[UIApplication _run] UIApplicationMain main start_sim 0x0 0x0
以下是针对性的解决步骤:
确认版本兼容性
检查package.json中expo和expo-router的版本是否匹配:Expo SDK 49对应expo-router v2,SDK 50对应v3,版本不兼容会导致模块查找失败。版本不匹配时执行:npm install expo-router@对应版本 # 或 yarn add expo-router@对应版本清除缓存并重装依赖
- 删除依赖目录和锁文件:
rm -rf node_modules package-lock.json yarn.lock - 重新安装依赖:
npm install或yarn install - 清除Expo缓存并重启项目:
npx expo start --clear
- 删除依赖目录和锁文件:
检查项目配置
- 确保
app.json/app.config.js中已添加expo-router插件:{ "expo": { "plugins": ["expo-router"] } } - 确认项目结构符合要求:根目录需存在
app/文件夹(文件系统路由模式),或在index.js中正确导入入口:import 'expo-router/entry';
- 确保
更新Expo Go
前往应用商店将Expo Go更新至最新版本,旧版本可能不支持新版expo-router的特性。调整项目路径
错误路径包含[03] Code这类带空格、特殊字符的目录,可能导致模块解析异常。将项目移动到无特殊字符、无空格的路径下,比如/Users/[me]/Documents/Code/[app]/
内容的提问来源于stack exchange,提问作者garrett
相关产品推荐
相关产品推荐

