愚蠢的Expo / CRNA不会挑选合适的网络

React Native开发从最初的编译App再安装到手机上调试的工做流,进化成了由Expo带来的相似前端的调试工做流,大大加快了开发的速度。如今不管是create-react-native-app(如下简称CRNA)仍是Expo的XDE都是一样的给你一个连接/二维码,而后用手机Expo App输入/扫一扫,就可实时预览和热更新App了。html

不过我遇到一个诡异的问题,明明在同一个网络中,Expo App就是链接不上。前端

通过本人仔细排查、认真分析、多方查阅(省略一万字)……发现是:Expo/CRNA对于电脑上多个网络不会进行挑选,而是直接无脑选择第一个,若是你的第一个网络不对路,例如什么VMware弄的网络啦,固然万年连不上了……react

很显然正在使用的网络是第四个WLAN的
clipboard.pnggit

可是CRNA直接使用第一个VMware的62github

clipboard.png

有两种解决方法:shell

  1. 设置REACT_NATIVE_PACKAGER_HOSTNAME环境变量,Windows下cmd运行set REACT_NATIVE_PACKAGER_HOSTNAME=${custom-ip}。对于个人网络,就是set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.0.142。注意powershell不能够,他们的set命令语法不一样。
  2. 修改网络优先级,Win10以前,控制面板>网络链接页面>菜单栏>高级>高级设置。Win10可能须要修改接口跃点数

clipboard.png

此外,可能有在虚拟机中使用Expo的需求。对于VMware,只须要将网络设置为桥接模式,就能够啦react-native

clipboard.png

图片描述

总之只要保证手机和给的连接是同一网段就能够了。个人就是192.168.0网段网络

clipboard.png

是时候学一波计算机网络了?app

相关文章
相关标签/搜索