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

React Native开发从最初的编译App再安装到手机上调试的工作流,进化成了由Expo带来的类似前端的调试工作流,大大加快了开发的速度。现在无论是create-react-native-app(以下简称CRNA)还是Expo的XDE都是同样的给你一个链接/二维码,然后用手机Expo App输入/扫一扫,就可实时预览和热更新App了。

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

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

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

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

clipboard.png

有两种解决方法:

  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,只需要将网络设置为桥接模式,就可以啦

clipboard.png

图片描述

总之只要保证手机和给的链接是同一网段就可以了。我的就是192.168.0网段

clipboard.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值