Expo v51升级后报错:Module "23"缺失于资产注册表求解决
Expo v51升级后"Module '23' is missing from the asset registry"修复方案
1. 彻底清理缓存
- 启动项目时强制清理Expo缓存:
npx expo start --clear - 清理本地依赖缓存并重装:
rm -rf node_modules package-lock.json yarn.lock npm install # 用yarn的话换成yarn install
2. 排查资源引用问题
- 检查所有本地资源(图片、字体等)的引用路径,避免拼写错误或相对路径层级错误
- 确认
app.json或app.config.js里的assets字段,把所有需要打包的资源目录都列进去,比如:"assets": ["./assets/fonts", "./assets/images"] - 如果用了预构建,执行
npx expo prebuild --clean重新生成原生文件和资源注册表
3. 排查依赖兼容性
部分第三方依赖可能还没适配Expo v51,导致资源处理异常:
- 用
npm ls或yarn why查看依赖树,找出最近更新或和Expo版本不匹配的包 - 暂时降级到该依赖适配Expo v50的稳定版本,等官方更新后再升级
4. 重置开发环境
- 卸载手机/模拟器上的Expo Go,重新安装最新版本
- 真机/模拟器上删除当前测试App,再重新构建安装
5. 检查Metro配置
- 如果之前修改过
metro.config.js,尝试恢复默认配置,排除自定义规则导致的资源注册问题 - 确认Metro配置里没有拦截asset处理的自定义插件
内容的提问来源于stack exchange,提问作者mhmd _5_5
相关产品推荐
相关产品推荐

