ios - expo ios 模拟器“无法连接到开发服务器”错误(适用于浏览器)
问题描述
我在实践中使用 react-native expo 开发聊天应用,但是当我在通常的开发流程中突然执行“expo start”时,显示错误“无法连接到开发服务器”。
如果您遇到相同的错误并知道解决方案,如果您能提供帮助,我将不胜感激。
由于我之前是和aws-amplify链接的,我以为是因为这种关系安装的那个是错误的原因,但是由于应用程序在浏览器中正常启动,只有iOS模拟器不起作用(Android在一个无休止下载且无法启动的情况)
我试过的
1) 使用 expo start -c 删除缓存
2)正如错误所说,重复 npm start 然后重新加载。
3)用kill命令删除19000,以为是端口问题。・ Npm install ・ rm -rf node_modules / && rm -rf yarn_lock / && yarn install && cd ios && pod install
没有任何效果,我想不出任何好主意来解决它。研究中的所有解决方案都失败了。我还能做什么?
参考链接
无法连接到 Android 上的 React Native 开发服务器
package.json↓</p>
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject",
"test": "jest --watchAll"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"-": "^0.0.1",
"@expo/vector-icons": "^12.0.0",
"@react-native-async-storage/async-storage": "^1.15.11",
"@react-native-community/masked-view": "0.1.10",
"@react-native-community/netinfo": "^6.2.1",
"@react-navigation/bottom-tabs": "5.11.2",
"@react-navigation/native": "~5.8.10",
"@react-navigation/stack": "~5.12.8",
"aws-amplify": "^4.3.6",
"aws-amplify-react-native": "^6.0.1",
"cli": "^1.0.1",
"expo": "~42.0.1",
"expo-asset": "~8.3.2",
"expo-constants": "~11.0.1",
"expo-font": "~9.2.1",
"expo-linking": "~2.3.1",
"expo-splash-screen": "~0.11.2",
"expo-status-bar": "~1.0.4",
"expo-web-browser": "~9.2.0",
"g": "^2.0.1",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz",
"react-native-gesture-handler": "~1.10.2",
"react-native-reanimated": "~2.2.0",
"react-native-safe-area-context": "3.2.0",
"react-native-screens": "~3.4.0",
"react-native-web": "~0.13.12"
},
"devDependencies": {
"@babel/core": "^7.9.0",
"@types/react": "~17.0.21",
"@types/react-native": "~0.64.12",
"jest-expo": "~41.0.0-beta.0",
"typescript": "~4.3.5"
},
"private": true
}
解决方案
我在使用放大时遇到了完全相同的问题。
首先,您不仅应该查看 expo 控制台,还应该查看终端。
如果终端说你的项目中有重复文件,删除其中一个,清除所有缓存并通过 expo start -c 命令重新启动。
我猜这个问题是因为 amplify 比我们更聪明,所以他们会自动创建备份文件等,而 expo 将它们误认为是重复的。
但是,包括删除缓存在内,这种方式有效,所以我不能 100% 确定。
如果这能解决,我会很高兴。
推荐阅读
- cakephp - 如何将 sql 查询转换为 cakephp 查询并在控制器中使用
- php - 根据 WooCommerce 购物车中的运输类别隐藏 COD 付款方式
- nlp - 如何使用自然语言处理将文本映射到预设的主题列表
- python - 如何使用 GPT-2 获取文档嵌入?
- arrays - “无效的下一个控制变量引用”错误并且似乎无法执行代码?
- java - JavaFX CEF(Java Chromium Embedded Framework)在 JPanel 中的 Swing 节点不可见
- python - 使用 regex 和 matplotlib 为给定数据绘制图形
- python - 执行 python 脚本时 Cron 作业失败 - keyError
- java - log4j2 给出:java.io.IOException:在 Hadoop 二进制文件中找不到可执行的 null\bin\winutils.exe
- reactjs - 使用reactjs解码后如何设置localStorage中的值?