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

升级Expo至50.0后React-Native报错:expo-router/babel已弃用如何解决?

解决SDK 50中expo-router/babel已弃用的问题

1. 更新Babel配置文件

找到项目根目录下的babel.config.js(如果是.babelrc同理),把里面的expo-router/babel预设替换成babel-preset-expo。

错误配置示例:

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

修改后的正确配置:

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

2. 清除缓存并重启项目

执行以下命令清除Expo缓存,再重新运行iOS项目:

npx expo start --clear
npm run ios

3. 校验依赖版本适配性

检查package.json里的依赖版本,确保expo、expo-router和babel-preset-expo适配SDK 50:

  • expo版本应为~50.0.0系列
  • expo-router至少为3.4.0
  • babel-preset-expo应为~10.0.0系列

如果版本不匹配,执行更新命令:

npm install expo@~50.0.0 expo-router@^3.4.0 babel-preset-expo@~10.0.0

4. 彻底清理依赖(可选)

要是前面的步骤都没解决问题,试试彻底清除依赖后重装:

# 删除node_modules和锁文件
rm -rf node_modules
rm package-lock.json

# 重新安装依赖
npm install

# 清除缓存并启动
npx expo start --clear && npm run ios

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:26:00