网络响应超时错误(create-react-native-app)(expo)

YaS*_*ary 38 react-native react-native-android expo create-react-native-app

我试图在android中的expo应用程序上运行create-react-native-app.

首先,我通过编写命令创建了项目

create-react-native-app test

然后我执行了

npm开始

然后从expo app扫描qr代码.

但扫描QR码后,我收到以下错误:

Uncaught Error: Java.net,sockettimeoutException: failed to connect to after 10000ms
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Github问题:

https://github.com/react-community/create-react-native-app/issues/144#issuecomment-296631692

ash*_*dey 49

我浪费了一整天寻找答案,最后我意外地得到了解决方案。只需将连接从 LAN 更改为隧道

下面是图片,

在此处输入图片说明

  • 或者,您也可以从终端运行“expo start --tunnel” (16认同)
  • 你拯救了我的编码生涯。本来想放弃的。xD (2认同)

man*_*noj 44

这是因为您的机器没有打开端口.

在Ubuntu Run In终端中

sudo ufw status verbose 要查看打开端口,如果找不到19000端口,则需要打开端口

sudo ufw allow 19000/tcp
Run Code Online (Sandbox Code Playgroud)

然后再次运行

sudo ufw allow 19001/tcp

为本机提供http服务我使用这种方法在我的ubuntu中解决了这个问题.我希望这能帮到您.

在Windows防火墙中打开TCP访问端口在" 开始"菜单上,单击Run,键入WF.msc,然后单击"确定" OK.

具有高级安全性Windows防火墙左窗格中,右键单击" 入站规则",然后单击New Rule操作窗格中的.

在" 规则类型"对话框中,选择" 端口",然后单击" 下一步".

在" 协议和端口"对话框中,选择" TCP".选择" 特定本地端口",然后键入React端口实例的端口号,例如默认实例的19000.单击下一步.

在" 操作"对话框中,选择" 允许连接",然后单击" 下一步".

在" 配置文件"对话框中,选择要在连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单击" 下一步".

在" 名称"对话框中,键入此规则的名称和说明,然后单击"完成".

同样,您也可以打开端口19001.

  • 这个使用 `expo start --tunnel` 来工作 (5认同)
  • 这对我不起作用,我正在使用Win10.我需要做任何额外的步骤??? (2认同)
  • 很棒的答案.解决我在Ubuntu中的问题 (2认同)
  • @KD.ST 你是天才 (2认同)

Iro*_*ean 44

就我而言,防火墙设置本身并没有这样做.我的问题是VirtualBox网络设备优先考虑,世博会主机是在错误的网络上启动的.

在Windows上,您可以运行ipconfig并查看您拥有的网络适配器.npm/ yarn start似乎在该列表中首先显示任何显示.

我从这里发现了这个:https://github.com/react-community/create-react-native-app/issues/60

如果列表中不需要其他网络适配器,则可以在"控制面板"的"网络连接"界面中禁用它们.

如果您需要使用这些连接进行Expo工作,那么我就按照这个过程解决了这个问题:

  1. 转到控制面板>网络和Internet>网络连接
  2. 右键单击所需的连接(更高优先级连接)
  3. 单击属性> Internet协议版本4
  4. 单击属性>高级
  5. 取消选中"自动指标"
  6. 在"Interface Metric"中输入10
  7. 单击确定

重复较低优先级连接,但这次将20放入'接口度量标准'

您现在将使用更高优先级的连接作为默认值.

  • 您还可以使用ipconfig查找无线适配器的IP,并使用"export REACT_NATIVE_PACKAGER_HOSTNAME ='192.168.1.123'"设置为此IP.为我工作. (5认同)

小智 21

您可以通过将笔记本电脑的IP地址固定到静态IP来解决这个问题,比方说192.168.1.69,然后您需要将react native packager的ip地址更改为与笔记本电脑相同的地址,

set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Windows)
REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Mac & Linux)
Run Code Online (Sandbox Code Playgroud)

再次开始你的项目,你很高兴.


Hoq*_*dul 7

在此输入图像描述

首先,禁用未使用的网络连接.就我而言,它是VirtualBox.也许它使用相同的端口.我不确定.禁用未使用的连接后,重新启动打包器.如果您使用npm然后键入

npm start
Run Code Online (Sandbox Code Playgroud)


小智 6

我已经完成了上下文中提到的所有事情。刚刚将我连接的 WiFi 网络从公共网络更改为私有网络。这对我有用