You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo SDK49迁移Google登录后run:ios报ENOTDIR错误求助

解决Expo SDK 49中使用@react-native-google-signin/google-signin时iOS构建的ENOTDIR错误

问题背景

升级Expo SDK 49后,替换原Google认证方案为官方推荐的@react-native-google-signin/google-signin库,执行npx expo run:ios构建iOS应用时触发以下错误:

Error: ENOTDIR: not a directory, open '<REST_OF_PATH>/ios/Pods/Headers/Private/AppAuth/AppAuth.h/package.json'

已尝试更新cocoapods、更新所有依赖包、删除并重装node_modules,但问题仍未解决。

可行修复步骤

  • 清理iOS构建缓存与Pod依赖
    1. 删除iOS构建产物目录:
      rm -rf ios/build
      
    2. 进入iOS目录,清理Pod相关文件并重新安装:
      cd ios
      pod deintegrate
      pod cache clean --all
      rm Podfile.lock
      pod install
      cd ..
      
  • 排查依赖版本冲突
    该错误多因AppAuth Pod的路径被错误识别为目录,大概率是依赖版本不兼容导致。尝试锁定@react-native-google-signin/google-signin到最新稳定版,再重新安装依赖:
    npm install @react-native-google-signin/google-signin@latest
    
  • 重置iOS原生项目配置
    使用Expo预构建命令清理并重建iOS原生目录,确保配置与SDK 49兼容:
    npx expo prebuild --clean --platform ios
    
    完成后再次执行npx expo run:ios尝试构建。
  • 检查Podfile配置
    打开ios/Podfile,确认没有重复引入AppAuth的配置,确保@react-native-google-signin/google-signin的Pod配置未被手动修改导致路径异常。

内容的提问来源于stack exchange,提问作者TreyBCollier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:39:59