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

Expo应用为何默认用localhost:8081启动?改端口及隧道均无法连开发客户端

解决Expo端口固定及Dev Client连接失败问题

一、强制修改Expo启动端口的有效操作

  1. 使用完整端口指定命令
    之前的命令格式可能有误,正确的端口指定命令应该是:

    npx expo start --port 8000
    # 或指定19000端口
    npx expo start --port 19000
    

    执行后看终端输出,确认是否显示Metro is running on http://localhost:8000类信息,若仍为8081,说明缓存或配置在起作用。

  2. 清除Metro缓存再启动
    缓存会导致端口配置不生效,执行以下命令清除缓存后重新启动:

    npx expo start --port 8000 --clear
    
  3. 修改项目配置文件固定端口
    在项目根目录的app.json或app.config.js中添加端口配置,确保启动时自动使用指定端口:

    {
      "expo": {
        "packagerOpts": {
          "port": 8000
        }
      }
    }
    

    保存后重新执行npx expo start,端口即可生效。

二、Dev Client无法连接服务器的排查方案

  1. 局域网模式下确认网络一致性
    不用隧道模式时,确保手机/模拟器和电脑连同一WiFi,启动Expo时添加--lan参数:

    npx expo start --port 8000 --lan
    

    终端会显示局域网地址(如http://192.168.x.x:8000),在Dev Client中输入该地址尝试连接。

  2. 隧道模式问题排查

    • 暂时关闭电脑防火墙,排查是否是防火墙拦截了Expo的网络请求。
    • 更换网络环境(比如手机热点),部分公司内网会屏蔽Expo隧道服务,导致连接失败。
    • 重启Dev Client和Expo服务,进程残留可能引发连接异常。
  3. 确保Dev Client与Expo SDK版本匹配
    如果你的Expo SDK版本更新过,需要重新构建Dev Client,保证版本匹配:

    npx expo prebuild --clean
    npx expo run:android # 或run:ios,根据你的设备选择
    
  4. 切换隧道提供商
    若隧道模式报错Failed to establish tunnel,可以切换隧道提供商,先安装ngrok:

    npm install -g ngrok
    

    再用ngrok启动隧道:

    npx expo start --tunnel --tunnel-provider ngrok
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:04:57