与世博会反应本机应用程序 - QR码未加载



我正在遵循本教程:

https://blog.expo.io/building-a-react-native-app-using-expo-and-typescript-part-1-a81b6970bb82

yarn global add create-react-native-app

create-react-native-app my-app-name

cd my-app-name

yarn start

我与我的手机(安卓(在同一个网络上。没有VPN。我位于应用程序的根文件夹中。它说Loading dependency graph, done.所以我知道它正在运行。

防火墙也因此而关闭,这不是超时错误。

当我扫描二维码时:

Something went wrong. Could not load exp://10.0.0.21:19000.

我的问题可能是什么?

编辑

新错误:Uncaught Error: java.net.ConnectException: Failed to connect to /10.0.0.21.19000

尝试在 chrome 中打开调试器,然后选择"tunnel"(如果你的设备和开发电脑未连接到同一服务器(。

尝试手动输入 URL选项

  • 首先确保您在同一个wifi上(计算机||笔记本电脑和移动设备(
  • 第二个打开cmd并运行命令ipconfig,您将获得IPv4地址复制它
  • 转到您的世博会应用程序,点击手动输入网址
  • 输入exp://your_IPv4_Address:19000( 示例 -- exp://192.168.1.38:19000 (
  • 立即连接 - 它应该可以工作

我在和博览会更新后遇到了这个问题。而不是运行

npm/yarn start 

(执行expo start --dev-client(

尝试

npm run run

(执行expo start(

运行命令

expo start --tunnel 

就我而言,我使用了隧道,并且 sdk 版本存在问题 - 我有 39.0.0,我应该只使用 36、37 或 38 - 这是我从 expo 收到的消息,所以我所做的只是进入app.json文件,并在 expo 中添加以下行(或者如果它已经存在,则只需更改它(:

"sdkVersion": "38.0.0"

它应该看起来像:

"expo": {
"name": "DoneWithIt",
"slug": "DoneWithIt",
"sdkVersion": "38.0.0",
"version": "1.0.0",
....
....
}

在依赖项中的package.json文件中,将"expo"和"react-native"中的版本更改为 38.0.0

"dependencies": {
"expo": "~38.0.0",
"expo-status-bar": "~1.0.2",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk- 
38.0.0.tar.gz",
"react-native-web": "~0.13.12"
}

然后运行:

cd yourAppName 
npm start 

它将加载到您的手机上。 您可以从这里观看: https://www.youtube.com/watch?v=eS8VULijAZ4

在此视频中,他使用 32.0.0,因此请注意更新版本(就我而言,38.0.0 适用于 09/2020(

只需从应用程序中删除node_modules文件夹,然后运行npm install以获取依赖项。

现在运行expo startnpm start,二维码现在将加载。

在节点 v12.18 上。在 package.json 降级 expo 和 react-native 连接器中。38 个工作而不是 40 个。

"expo": "~38.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.0.tar.gz",

然后删除node_modules并重新安装它们

rm -rf node_modules
npm install

然后再次运行:

npm start 

QR这次应该可以工作

如果有人仍在寻找解决方案,只需暂时关闭防火墙即可。就我而言,我使用的是 Windows 11,迈克菲阻止了连接。

这就是对我有用的。 我只是按照夏尔马所说的做了@Nupur,但由于世博会 cli 似乎现在才与 npx 远程合作,所以我npx expo start --tunnel运行了命令。 这促使我安装 expo/ngrok,这是一个隧道服务器,所以我接受了。再次运行该应用程序后,我能够扫描二维码并将该应用程序加载到我的 Android 设备上。

最新更新