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

构建服务器执行pod install时Podfile.lock被修改的原因排查

问题:React Native构建中pod install --deployment移除hermes-engine的tag值?

我在多台macOS机器上构建React Native应用,其中一台机器执行pod install --deployment时失败,提示:

[!] There were changes to the podfile in deployment mode:
M hermes-engine

Podfile.lock里的hermes-engine条目被修改,原内容:

hermes-engine:
  :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
  :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0

修改后:

hermes-engine:
  :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
  :tag: ''

其他机器执行该命令能成功安装且Podfile.lock无变化,已清理所有机器的CocoaPods缓存,问题仍存在。

各机器工具版本对比

工具Mac1(正常)Mac2(正常)Mac3(异常)
OSmacOS 13.6 (ARM64)macOS 13.3.1 (X64)macOS 13.4.1 (ARM64)
Shell5.95.95.9
Node18.17.118.17.018.17.1
Yarn1.22.191.22.191.22.19
npm9.6.79.6.79.6.7
CocoaPods1.12.11.12.11.12.1
Xcode14.3.114.314.3.1
Java17.0.717.0.717.0.8
Ruby2.6.102.6.102.6.10
可能的原因及解决方向
  • hermes-engine.podspec解析差异:检查异常机器上的hermes-engine.podspec文件,确认s.source部分的tag配置是否存在条件判断(比如针对ARM64/X64的分支逻辑),导致该环境下tag未被正确赋值。
  • Xcode命令行工具路径/权限问题:执行xcode-select -p对比三台机器的Xcode路径是否一致;检查项目目录及node_modules的读写权限,确保CocoaPods能正常读取文件。
  • Ruby依赖不一致:虽然Ruby版本相同,但相关gem包可能有差异。执行gem list对比三台机器的cocoapods-core等CocoaPods依赖包版本,确保完全一致。
  • 缓存清理不彻底:除CocoaPods缓存外,还需清理:
    • 删除node_modules目录,重新执行yarn install或npm install
    • 删除iOS目录下的Pods文件夹和Podfile.lock,重新拉取依赖
    • 执行gem cleanup清理Ruby缓存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:42:02