Expo+NativeWind旧项目正常新项目报错,求排查(SDK52/53)
Expo + NativeWind 新项目启动故障排查问题
背景
9个月前搭建的 Expo + NativeWind + React Native 项目运行完全正常,依赖版本及配置如下:
- Expo SDK 53
- NativeWind 4.1.23
- React Native 0.79.5
- Metro 配置了
withNativeWind
如今搭建同版本新项目时,新旧项目的package.json、metro.config.js、babel.config.js、global.css配置完全一致,但项目完全无法运行。
出现的三类错误
- Windows ESM 错误:
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported. Received protocol 'e:'
- 删除 metro.config.js 后出现:
Error: Cannot find module 'babel-preset-expo'
- 安装 babel-preset-expo 后出现:
Error: [BABEL] .plugins is not a valid Plugin property
已尝试的解决操作
- 删除 node_modules、package-lock.json、.expo 文件夹
- 执行
npx expo start --clear - 更换不同版本的 NativeWind、Expo
- 调整 metro.config.js 配置
- 移动 global.css 文件位置
- 以管理员身份运行 PowerShell
- 关闭 Windows 防火墙
- 使用
--tunnel、--lan、--localhost参数启动项目
环境信息
- 操作系统:Windows 11
- Node.js 版本:22(已尝试 20、21、22)
- Expo CLI 版本:0.22.8
- 测试设备:安装最新版 Expo Go 的安卓真机
疑问
- 新旧项目间存在哪些差异?
- 是否需要清理全局缓存或配置?
- 是否是 Windows 专属的新版本 bug?
内容的提问来源于stack exchange,提问作者Izhan7
相关产品推荐
相关产品推荐

