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

使用create-expo-app@latest执行npx expo start时iOS打包失败求助

解决expo-router中process.env.EXPO_ROUTER_APP_ROOT无效调用问题

试试这些解决办法:

  • 清缓存+重装依赖
    删除项目里的node_modules文件夹和package-lock.json(用yarn的话删yarn.lock),然后执行npm install重装依赖,最后运行npx expo start --clear清除缓存再启动项目。

  • 检查版本兼容性
    先把全局Expo CLI更新到最新:npm install -g expo-cli。然后查看package.json里的expo和expo-router版本,若两者版本差异过大,将expo-router替换为与当前expo版本匹配的稳定版,再重装依赖尝试。

  • 修正babel配置
    确保babel.config.js里正确配置了expo-router插件,环境变量处理无误,示例配置如下:

    module.exports = function (api) {
      api.cache(true);
      return {
        presets: ['babel-preset-expo'],
        plugins: [
          ['expo-router/babel'],
          ['module:react-native-dotenv', {
            moduleName: '@env',
            path: '.env',
            allowUndefined: true
          }]
        ]
      };
    };
    

    同时项目根目录需放置.env文件,哪怕是空文件,也能避免环境变量读取异常。

  • 确认项目结构与配置
    项目根目录必须存在app文件夹(expo-router默认的路由根目录),若使用自定义根目录,需在app.json或app.config.js中添加配置:

    {
      "expo": {
        "extra": {
          "EXPO_ROUTER_APP_ROOT": "./app"
        }
      }
    }
    

    不要直接在babel中手动设置该变量,通过Expo配置文件定义才是正确方式。

  • 切换Node.js版本
    部分Node.js版本与最新expo-router存在兼容性问题,尝试切换到LTS版本(如18.x或20.x),用nvm切换版本后,重新安装依赖并启动项目。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:24:58