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

expo start未启动Javascript bundling且Tunnel模式报错求助

Expo启动故障修复方案

Metro Bundler卡在启动阶段修复步骤

  • 优先执行全量缓存清理启动命令,排除旧缓存阻塞问题:
    npx expo start --clear
    若清理后仍无法正常启动,手动删除项目根目录下的.expo文件夹、node_modules文件夹、package-lock.json/yarn.lock文件,再重新执行npm install安装依赖后启动服务。
  • 检查默认端口占用情况:
    Metro默认占用19000、19001、19002端口,端口被其他进程占用时会出现卡启动问题。Mac/Linux执行lsof -i :19000、Windows执行netstat -ano | findstr 19000查看占用进程,终止对应进程后重启服务即可,也可以手动指定未占用端口启动:npx expo start -p 19006
  • 确认版本兼容性:
    Expo SDK版本与Node版本存在对应兼容要求,SDK 48及以下版本适配Node 16/18.17.0以下版本,SDK 49+适配Node 18/20 LTS版本,版本不匹配会出现偶发启动失败问题。

Tunnel模式报错修复步骤

报错spawn yarnpkg ENOENT的核心原因是Expo默认调用yarn安装全局ngrok依赖,系统未安装yarn导致调用失败,可按以下步骤修复:

  • 手动全局安装ngrok依赖:
    先卸载可能存在的残留版本:npm uninstall -g @expo/ngrok ngrok
    再安装匹配版本:npm install -g @expo/ngrok@^4.1.0
  • 指定Expo默认包管理器:
    在项目根目录新建.exprc配置文件,添加以下内容指定用npm作为包管理器,避免后续再调用yarn:

    {
    "packageManager": "npm"
    }

  • 若仍提示Tunnel URL not found,先手动执行ngrok http 19000确认ngrok可正常生成公网链接,再启动expo start --tunnel即可。

偶发生效问题补充排查

  • 检查电脑防火墙/安全软件配置:部分安全软件会拦截Metro端口的入站请求,临时关闭防火墙后测试如果可正常连接,将Node、Expo相关进程加入防火墙白名单即可。
  • 排查路由器AP隔离设置:即使设备和电脑在同一WiFi下,若路由器开启AP隔离会禁止同网络下设备互相通信,关闭AP隔离或临时用电脑开热点供手机连接测试即可验证问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:45:01