Ionic React热重载始终失败问题求助
解决Ionic React热重载启动失败(Error: write EINVAL)的排查方案
检查网络IP绑定
执行ionic cap run android -l --external时,务必选择电脑真实的局域网IP,不要选127.0.0.1或0.0.0.0。可以用ipconfig(Windows)或ip addr(Linux/macOS)查询正确的网卡IP,也可以手动指定IP启动:ionic cap run android -l --external --address=192.168.x.x,避免CLI自动选择错误IP。排查端口与防火墙问题
- 检查默认端口8100是否被占用:Windows用
netstat -ano | findstr :8100,macOS/Linux用lsof -i :8100,若被占用则杀掉对应进程,或换端口启动:ionic cap run android -l --external --port=8101。 - 暂时关闭系统防火墙和第三方安全软件,或给Node.js/ionic-cli开放局域网访问权限,防止防火墙拦截热重载请求。
- 检查默认端口8100是否被占用:Windows用
清理缓存与重建依赖
- 删除项目根目录下的
node_modules、package-lock.json文件,重新执行npm install。 - 执行
ionic cache clean、npx cap sync清理框架缓存,再运行npm run build重新构建项目,之后尝试热重载命令。
- 删除项目根目录下的
核对项目配置文件
- 打开
capacitor.config.js(或.ts),确认server配置正确:export default { server: { url: "http://192.168.x.x:8100", // 填写电脑的局域网IP和端口 cleartext: true // Android 9+必须开启,否则会禁止HTTP明文请求 } }; - 检查
ionic.config.json中的type字段是否为react,避免配置错误。
- 打开
验证设备连通性
- 确保手机和电脑处于同一局域网,用手机浏览器直接访问
http://你的电脑IP:8100,若无法打开则说明网络连通性有问题,检查路由器设置或重新连接WiFi。 - 重新插拔USB,执行
adb devices确认设备被正常识别,若识别失败则重启ADB服务:adb kill-server && adb start-server。
- 确保手机和电脑处于同一局域网,用手机浏览器直接访问
锁定稳定版本依赖
虽然你已更换过版本,但可以尝试锁定@ionic/react和@capacitor/android到稳定版本,比如在package.json中修改为:"@ionic/react": "^7.0.0", "@capacitor/android": "^5.0.0"执行
npm install后重新同步项目再尝试热重载。
内容的提问来源于stack exchange,提问作者raylight
相关产品推荐
相关产品推荐

