执行pod --version时遇rexml版本冲突问题求助
解决CocoaPods与rexml版本冲突问题
核心原因
你通过Homebrew安装的CocoaPods 1.13.0依赖rexml ~>3.2.4,但fastlane update_fastlane可能升级了全局Ruby环境的rexml到3.3.6,触发版本冲突。另外,你用gem uninstall cocoapods无效是因为CocoaPods是Homebrew安装的,不在gem的全局管理范围内。
解决方案
方案一:通过Homebrew重装CocoaPods(推荐)
- 卸载Homebrew版本的CocoaPods:
brew uninstall cocoapods
- 清理冗余的rexml版本:
gem cleanup rexml
- 重新安装CocoaPods,Homebrew会自动处理依赖匹配:
brew install cocoapods
- 验证修复:
pod --version
方案二:为Homebrew的CocoaPods单独安装指定版本rexml
- 进入CocoaPods的独立执行环境目录:
cd /opt/homebrew/Cellar/cocoapods/1.13.0/libexec
- 使用该环境的gem安装要求的rexml版本:
./gem install rexml -v 3.2.4
- 验证修复:
pod --version
方案三:使用Ruby版本管理器隔离环境(适合长期维护)
如果你用rbenv/rvm管理Ruby版本,可通过切换版本避免全局依赖冲突:
- 安装CocoaPods 1.13.0兼容的Ruby版本(如3.2.2):
rbenv install 3.2.2
- 设置该版本为全局默认:
rbenv global 3.2.2
- 在该Ruby环境下重新安装CocoaPods:
gem install cocoapods -v 1.13.0
- 验证修复:
pod --version
内容的提问来源于stack exchange,提问作者Julian
相关产品推荐
相关产品推荐

