我是 React Native Expo 的新手,我需要在我的项目中添加一些新模块。 “expo”:“33.0.0”,“react”:“16.8.3”,每当我尝试运行我的项目时,都会出现错误,无法运行该项目。我尝试了各种方法来运行该项目,例如
set REACT_NATIVE_PACKAGER_HOSTNAME='192.168.0.102'
、防火墙关闭、允许入站 19000 端口等,但出现错误。
当我进入时
expo start -c
Your project may not work correctly until you install the correct versions of the packages.
To install the correct versions of these packages, please run: expo install [package-name ...]
Starting Metro Bundler on port 19001.
Your JavaScript transform cache is empty, rebuilding (this may take a minute).
Your native app is running at exp9c305c55e38f4d0e856f59397620314e://192.168.0.101:19000
Logs for your project will appear below. Press Ctrl+C to exit.
然后我的笔记本电脑和手机连接到相同的网络和相同的 IP,但出现错误,我不知道端口 19000 与我的 wifi 不同
Uncaught Error:java.net.SocketTimeoutException:failed to connect to/192.168.1.20(port 19000)from/192.168.0.102(port 49615) after 10000ms
请给出一些解决方案。
失败是因为端口
19000
未在防火墙中打开。如果您使用 Linux 操作系统,请运行以下命令打开此端口:
sudo ufw allow 19000/tcp
我不知道你是否仍然遇到这个问题,但清除博览会应用程序解决了我只需运行
expo r -c
如果此处列出的其他选项在 Windows 10 上不适合您,则更新 Windows 防火墙设置以允许 Expo Go 与开发服务器通信应该可行:
按 Windows 键,键入“Windows Defender 防火墙”,然后单击“具有高级安全性的 Windows Defender 防火墙”。
在左侧窗格中,单击“入站规则”。
单击右侧窗格中的“新建规则...”。
选择“端口”并单击“下一步”。
选择“TCP”并在“特定本地端口”字段中输入“19000-19002”。单击“下一步”。
选择“允许连接”,然后单击“下一步”。
确保选中所有三种网络类型(域、专用和公共),然后单击“下一步”。
输入规则的名称(例如“Expo Go Ports”),然后单击“完成”。
对“出站规则”重复步骤 2 至 8,为出站连接创建新规则。
更新防火墙设置后,重新启动 Expo CLI 并尝试再次连接您的移动设备。
就我而言,这是 Windows 10 防火墙 的问题。我做了这些步骤:
完成!