执行npx expo start启动React Native项目时遇cacheStores未定义错误求助
解决
npx expo start启动时的cacheStores未定义错误 你执行npx expo start时遇到的错误是Metro配置加载过程中合并配置失败,具体是尝试读取未定义对象的cacheStores属性导致的。以下是几种可行的解决方法:
错误信息
Starting project at C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject TypeError: Cannot read properties of undefined (reading 'cacheStores') TypeError: Cannot read properties of undefined (reading 'cacheStores') at C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules\metro-config\src\loadConfig.js:90:20 at Array.reduce () at mergeConfig (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules\metro-config\src\loadConfig.js:85:18) at loadMetroConfigFromDisk (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules\metro-config\src\loadConfig.js:176:10) at async loadConfig (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules\metro-config\src\loadConfig.js:255:25) at async Object.loadAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\metro-config\build\ExpoMetroConfig.js:316:10) at async loadMetroConfigAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\cli\build\src\start\server\metro\instantiateMetro.js:47:18) at async Object.instantiateMetroAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\cli\build\src\start\server\metro\instantiateMetro.js:75:57) at async MetroBundlerDevServer.startImplementationAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\cli\build\src\start\server\metro\MetroBundlerDevServer.js:233:66) at async MetroBundlerDevServer.startAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\cli\build\src\start\server\BundlerDevServer.js:88:24) at async DevServerManager.startAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\cli\build\src\start\server\DevServerManager.js:162:13) at async startAsync (C:\Users\agres\Desktop\Coding\ReactNative\AwesomeProject\node_modules@expo\cli\build\src\start\startAsync.js:125:5)
解决步骤
- 优先清除Metro缓存,执行:
npx expo start --clear - 检查项目根目录的
metro.config.js文件,确认配置结构正确,没有错误地将cacheStores相关配置设为未定义 - 若缓存清除无效,删除依赖目录和锁文件后重新安装:
Windows系统:
macOS/Linux系统:rd /s /q node_modules del package-lock.json yarn.lock npm installrm -rf node_modules package-lock.json yarn.lock npm install - 尝试升级Expo相关依赖,确保版本兼容:
npx expo upgrade
内容的提问来源于stack exchange,提问作者ZZarkos
相关产品推荐
相关产品推荐

