无法使用手机上的 Expo Go 连接到 WSL2 上的 Expo React Native 项目

Dev*_*iri 5 wsl-2

所以我最近刚刚迁移到 WSL2。我在 WSL1 上使用的所有工具现在都损坏了。

命令如下:

$ expo start
$ npm start
Run Code Online (Sandbox Code Playgroud)

在 IP 地址上运行应用程序172.--.---.---
这会破坏我使用的许多仍在运行的工具192.---.--.-

例如,当我尝试使用 Expo go 连接到我的 Expo React Native 项目时。它向我抛出错误:-

错误图像

上面的图片与我收到的错误不准确。但如图所示,我无法使用手机上配置的端口以外的端口访问 Expo 项目。

有没有办法将我的 WSL2 子系统的 IP 更改为主机的 IP,以便我可以从手机连接到我的 Expo 项目?

Sov*_*iut 22

您可以使用带有 Expo 的隧道(文档位于此处)。

npm start -- --tunnel
Run Code Online (Sandbox Code Playgroud)

这将要求安装该@expo/ngrok软件包。完成后,您将看到该Metro is waiting消息具有完整的 URL,而不仅仅是 IP 地址。

扫描二维码,Expo Go将通过隧道连接。

这是可行的,因为隧道暴露在互联网上,而不仅仅是您的本地网络。