You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo升级后出现Transformer.transform is not a function问题求助

解决Expo升级后模拟器构建失败的问题

嘿,我完全懂你折腾好几天找解决方案的烦躁——升级Expo后Web能正常跑,但iOS/Android模拟器死活构建不起来,这种问题确实磨人。结合你给出的配置和已经尝试过的步骤,我整理了几个可能的修复方向,你可以挨个试试:

1. 修复Metro版本冲突

你的devDependencies里,metro用的是^0.60.0,但metro-react-native-babel-preset是^0.59.0,这两个版本不匹配很可能会导致打包过程出错。Expo SDK 38对应的Metro版本应该是0.59.x系列,建议把metro版本统一:

  • 修改package.json里的metro依赖为:"metro": "^0.59.0"
  • 删除node_modules和package-lock.json
  • 重新执行npm install(或yarn install)

2. 强制清除模拟器打包缓存

有时候旧的打包缓存会留在模拟器里,即使你删了node_modules也没用。试试用清除缓存的命令启动模拟器:

  • iOS:expo start --ios --clear
  • Android:expo start --android --clear

3. 检查依赖兼容性

你用的react-native-paper@4.0.1可能和Expo SDK 38不兼容——4.x版本的react-native-paper通常需要更高版本的React Native,而SDK38对应的RN版本是0.62.x。可以尝试把react-native-paper降级到3.x版本,比如:

npm install react-native-paper@3.10.1

4. 验证Babel配置

确保项目根目录有正确的babel.config.js文件,内容应该是:

module.exports = function(api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
  };
};

如果没有这个文件,直接创建一个放进去,这能保证Expo的打包流程正确识别你的代码。

5. 确认入口文件路径

你提供的node_modules/expo/AppEntry.js里引用了../../App,请确认项目根目录确实存在App.js(或App.tsx/App.jsx),并且路径没有大小写错误(比如在Mac/Linux上大小写敏感)。

先试试这些步骤,应该能解决大部分模拟器构建失败的问题!

内容的提问来源于stack exchange,提问作者Kittaru87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:42:28