M1电脑上pod update 报错解决方案

针对M1 Mac上`pod update`遇到的问题,提供两种解决方案:1. 在pod命令前添加`arch -x86_64`;2. 卸载并重新安装Ruby和CocoaPods,使用`arch -x86_64`重建ffi和CocoaPods,以确保正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

M1电脑上pod update 报错解决方案


错误场景:

在这里插入图片描述

方案一 简单直接的方案

pod命令前添加 arch -x86_64,
如 arch -x86_64 pod update

方案二 重新安装cocoaPods

Answering my own question. I fixed the ffi issue by uninstalling my faulty Ruby version and CocoaPods, then I used the -x86_64 arch to reinstall ffi and CocoaPods.
These are the steps I did to get back to a working state (and to apply the M1 workarounds for ffi):

  1. Uninstall Ruby with: brew uninstall ruby --force
  2. Uninstall CocoaPods. At first, try to list all CocoaPods versions / components with gem list --local | grep cocoapods. Then uninstall them one by one, in my case:
    sudo gem uninstall cocoapods
    sudo gem uninstall cocoapods-core
    sudo gem uninstall cocoapods-downloader
    etc.
  3. As a next step I was able to reinstall ffi and then CocoaPods with:
    sudo arch -x86_64 gem install ffi
    sudo arch -x86_64 gem install cocoapods
    Once done, I could run pod install as expected. Note that I had the Terminal open all the time in standard mode - no Rosetta required
<think>我们正在解决用户删除 Firebase 后构建 Xcode 项目时出现的 "Command PhaseScriptExecution failed with a nonzero exit code" 错误。根据之前的错误分析和引用内容,我们可以采取以下步骤: 可能的原因和解决方案1. 缓存问题:删除 Firebase 后,可能残留了一些缓存文件,导致构建脚本执行失败。可以尝试清理缓存并重新构建。 2. Pod 依赖问题:删除 Firebase 后,Podfile 的依赖关系可能发生了变化,需要重新安装 Pods。 3. 脚本执行环境问题:如之前提到的 User Script Sandboxing 或 Node.js 路径问题。 具体步骤: 步骤1:清理项目 - 在 Xcode 中,选择 Product -> Clean Build Folder (或按住 Option 键,此时 Clean 会变成 Clean Build Folder) - 或者通过命令行清理 DerivedData: ```bash rm -rf ~/Library/Developer/Xcode/DerivedData ``` 步骤2:重新安装 Pod 依赖 - 进入项目的 ios 目录(或包含 Podfile 的目录) ```bash cd ios ``` - 执行 pod deintegrate 以移除现有的 Pods 集成 ```bash pod deintegrate ``` - 删除 Podfile.lock 和 Pods 目录(如果存在) ```bash rm -rf Podfile.lock Pods ``` - 重新安装 Pods(如果是 M1 芯片,可能需要使用 arch -x86_64) ```bash pod install ``` 或者 ```bash arch -x86_64 pod install ``` 步骤3:检查 Node 模块和项目文件 - 回到项目根目录,确保 node_modules 是最新的(如果删除了 Firebase,可能涉及 JavaScript 代码的更改,需要重新安装 npm 包) ```bash cd .. rm -rf node_modules yarn install # 或 npm install ``` 步骤4:检查 Firebase 是否完全删除 - 确保在 Podfile 中已经删除了所有 Firebase 相关的行(如 pod 'Firebase/Analytics' 等)[^1]。 - 检查项目代码中是否还有残留的 Firebase 导入或使用。 步骤5:重启 Xcode 和电脑 - 有时候简单的重启可以解决缓存问题(如引用[3]所述)[^3]。 步骤6:检查构建脚本(Phase Scripts) - 在 Xcode 中,打开项目,选择 target,进入 Build Phases 选项卡。 - 检查是否有与 Firebase 相关的脚本(例如:Upload Symbols 脚本用于 Crashlytics)。如果有,删除它们。 - 检查其他脚本(如 Bundle React Native code and images)是否正常。可以尝试临时注释掉脚本内容,逐步排查。 步骤7:查看详细的错误日志 - 前往 ~/Library/Developer/Xcode/DerivedData,找到项目对应的文件夹(名称可能为项目名加一串字符)。 - 进入 Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator(或对应的配置目录)。 - 查找与脚本失败相关的日志文件(如 codegen-*.log 或其他脚本日志),这些日志可能会提供更具体的错误信息[^2]。 如果以上步骤仍然不能解决问题,可以考虑以下额外措施: - 更新 CocoaPods:`sudo gem install cocoapods` - 重置 CocoaPods 仓库:`pod repo update` - 尝试使用 Xcode 的命令行工具构建:`xcodebuild -workspace YourProject.xcworkspace -scheme YourScheme -destination 'platform=iOS Simulator,name=iPhone 13' build` 注意:在删除 Firebase 后,确保所有对 Firebase 的引用(包括代码、配置文件、plist 文件等)都已移除,否则可能导致编译错误。 最后,重新构建项目。 如果问题仍然存在,请提供具体的错误日志以便进一步分析。 相关问题: 1. 如何彻底移除 Firebase 依赖? 2. Xcode 构建失败后如何查看详细错误日志? 3. CocoaPods 常见问题及解决方法有哪些?</think>### Xcode 删除 Firebase 后报错解决方案 当删除 Firebase 后出现 `Command PhaseScriptExecution failed with a nonzero exit code` 错误,通常是由于残留配置或脚本依赖导致的。请按以下步骤解决: #### 1️⃣ 清理 Firebase 残留配置 ```bash # 进入 iOS 项目目录 cd ios # 完全移除 Pod 集成 pod deintegrate # 删除 Pod 相关文件 rm -rf Podfile.lock Pods/ # 清理 Xcode 缓存 rm -rf ~/Library/Developer/Xcode/DerivedData ``` #### 2️⃣ 修正 Podfile 配置 在 `Podfile` 中确保 **完全删除** 所有 Firebase 相关行: ```diff - pod 'Firebase/Analytics' - pod 'Firebase/RemoteConfig' - pod 'Firebase/Crashlytics','10.2.0' - pod 'Firebase/Messaging' ``` 保存后重新安装依赖: ```bash # M1 芯片使用: arch -x86_64 pod install --repo-update # Intel 芯片使用: pod install --repo-update ``` #### 3️⃣ 检查构建脚本残留 在 Xcode 中: 1. 打开项目 → **Build Phases** 选项卡 2. 检查是否有 Firebase 相关的脚本(如 `Upload Symbols` 脚本) 3. 完全删除这些脚本阶段 #### 4️⃣ 清理项目环境 ```bash # 删除 node_modules rm -rf node_modules # 重新安装 JS 依赖 yarn install # 或 npm install # 清理 iOS 构建 cd ios && xcodebuild clean ``` #### 5️⃣ 重启系统与 Xcode 1. 完全退出 Xcode 2. 重启电脑(许多缓存问题可通过重启解决)[^3] 3. 重新打开项目尝试构建 #### 6️⃣ 检查代码残留 确保在项目中全局搜索并删除: - `#import <Firebase.h>` - `[FIRApp configure]` - `GoogleService-Info.plist` 文件 #### 若仍失败需检查日志 1. 打开路径:`~/Library/Developer/Xcode/DerivedData` 2. 找到项目文件夹 → `Build/Intermediates.noindex/Pods.build` 3. 查看 `codegen-*.log` 文件获取具体错误原因[^2] ### 关键预防措施 - 使用版本控制(如 Git)在修改 Podfile 前提交代码 - 删除依赖时同步移除相关配置文件和代码引用 - 定期执行 `pod deintegrate` 彻底清理环境 完成上述步骤后,90% 的 Firebase 移除相关构建错误可解决。若问题持续,请提供 `codegen` 日志内容进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值