React Native Expo项目启动报错:CommandError: ngrok tunnel took too long to connect
修复
CommandError: ngrok tunnel took too long to connect的方案 检查ngrok独立运行状态
先单独执行ngrok http 8081,确认隧道能正常启动:- 若ngrok报错,先完成账号认证:执行
ngrok config add-authtoken <你的ngrok认证令牌>(令牌需在ngrok官网注册获取) - 关闭本地防火墙,或把ngrok加入防火墙白名单;如果使用代理,确保ngrok可以正常通过代理连接网络
- 若ngrok报错,先完成账号认证:执行
重置Expo缓存与依赖
- 执行
npx expo start --clear清除Expo缓存后,再尝试启动隧道 - 若无效,删除项目目录下的
node_modules和package-lock.json文件,重新执行npm install安装依赖
- 执行
指定ngrok路径(解决Expo无法识别全局ngrok的问题)
在项目根目录的app.json中添加ngrok路径配置,示例:{ "expo": { "extra": { "ngrokPath": "/usr/local/bin/ngrok" // Windows系统替换为实际路径,如"C:/Program Files/ngrok/ngrok.exe" } } }替换隧道服务
如果ngrok始终无法正常工作,尝试使用localtunnel替代:- 全局安装localtunnel:
npm install -g localtunnel - 执行
npx expo start --tunnel --tunnel-service localtunnel启动项目
- 全局安装localtunnel:
排查网络环境
切换至稳定的网络(如手机热点),避免公司、校园等受限网络的端口拦截问题
内容的提问来源于stack exchange,提问作者Hubert Michael Seelan A
相关产品推荐
相关产品推荐

