愚蠢的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

相關文章
相關標籤/搜索