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版
- 更新Expo CLI到最新稳定版:
先从端口残留进程开始排查,这个是最常见的原因。如果还是不行,再依次试后面的方法,应该能解决你的问题!




