Expo eject后µWebSockets编译失败及getaddrinfo错误求助
解决Expo Eject后运行错误的方案
我来帮你一步步搞定这两个棘手的问题:
1. 修复getaddrinfo ENOTFOUND lcalhost错误
这个错误完全是拼写失误搞出来的——你把localhost写成了lcalhost(少了个字母o)!看你的package.json里的postinstall脚本:
"postinstall": "remotedev-debugger --hostname lcalhost --port 5678 --injectserver"
把这里的lcalhost改成localhost,保存后重新跑一遍npm install,这个DNS解析错误立刻就会消失。
2. 解决µWebSockets编译失败问题
虽然你已经有C++11编译器,但eject后依赖环境很容易出现冲突,按下面的步骤来排查:
- 先清理npm缓存,避免残留的旧依赖干扰:
npm cache clean --force - 删除
node_modules文件夹和锁文件,彻底重置依赖:rm -rf node_modules rm package-lock.json - 重新安装所有依赖:
npm install - 确认XCode命令行工具是最新且正常安装的:
xcode-select --install - 如果还是不行,试试用原生
react-native命令启动项目(eject后react-native-scripts可能不再适配分离后的项目结构):react-native run-ios
另外提个小细节:你的app.json里isDetached还是false,执行eject后应该把它改成true,避免Expo工具混淆项目状态:
"isDetached": true
按这些步骤操作后,应该能顺利解决你遇到的两个问题。
内容的提问来源于stack exchange,提问作者Thomas Hagström
相关产品推荐
相关产品推荐

