You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Expo开发服务器8001端口连接失败:重启Mac有效但重启服务器无效的问题咨询

Expo开发服务器8001端口连接失败:重启Mac有效但重启服务器无效的问题咨询

这种情况我之前踩过一模一样的坑,太折腾人了!重启Mac能恢复但单独重启服务器不行,基本是端口残留进程或者系统网络/缓存残留的锅,给你列几个实用的排查和解决步骤:

  • 检查并清理8001端口的残留进程
    Expo默认占用8001端口,有时候用^C退出服务器后,后台会残留僵尸进程霸占端口,重启服务器时抢不到资源,但重启Mac会彻底清掉所有进程。你可以用以下命令排查:

    lsof -i :8001
    

    如果输出里有相关进程,记下对应的PID,执行命令强制杀掉:

    kill -9 <PID>
    

    杀完再启动npx expo start -c试试。

  • 刷新系统网络缓存
    Mac的网络栈有时候会留存旧的连接缓存,单独重启服务器无法重置,但重启Mac会清空这些缓存。你可以手动刷新网络缓存,不需要重启整机:

    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    

    执行完等10秒左右,再启动Expo服务器。

  • 清理Expo深层缓存
    虽然你用了-c参数,但有时候Expo的本地缓存目录还是会有残留。可以手动删除~/.expo文件夹,这个目录存了项目的配置和缓存文件,删除后Expo会重新生成:

    rm -rf ~/.expo
    

    之后再运行npx expo start -c

  • 检查防火墙或安全软件拦截
    部分第三方安全软件(比如Little Snitch)或者Mac自带防火墙,可能会在第一次允许Expo连接后,后续的新连接被误拦截,而重启Mac会重置安全软件的会话规则。你可以:

    • 打开「系统设置-网络-防火墙」,暂时关闭防火墙测试
    • 查看安全软件的日志,确认有没有阻止Expo相关的网络请求
  • 排查Node/Expo CLI版本兼容性
    如果你的Node版本和Expo CLI版本不匹配,可能会导致服务器进程退出不彻底。可以尝试:

    • 更新Expo CLI到最新稳定版:npm install -g expo-cli@latest
    • 切换Node版本(用nvm或者n这类工具)到Expo官方推荐的LTS版

先从端口残留进程开始排查,这个是最常见的原因。如果还是不行,再依次试后面的方法,应该能解决你的问题!

火山引擎 最新活动