升级CocoaPods至1.13.0后执行pod install报NoMethodError错误求助
解决CocoaPods 1.13.0执行
pod install时的ActiveSupport错误 问题描述
升级CocoaPods至1.13.0后,执行pod install出现如下错误:
conversions.rb:108:in '<class:Array>': undefined method 'deprecator' for ActiveSupport:Module (NoMethodError)
完整错误堆栈指向activesupport-7.1.0中的代码调用ActiveSupport.deprecator失败——该方法在7.1.x版本中已被移除,而CocoaPods 1.13.0未适配此变更。
解决方案
方法一:降级ActiveSupport到兼容版本
- 卸载当前的activesupport 7.1.0版本:
执行后选择卸载7.1.0版本(若存在多个版本)。gem uninstall activesupport - 安装兼容的7.0.x版本(示例为7.0.8):
gem install activesupport -v 7.0.8 - 重新执行
pod install
方法二:使用Bundler锁定依赖版本
如果项目使用Bundler管理Ruby依赖:
- 在项目根目录的
Gemfile中添加以下内容:gem 'activesupport', '~> 7.0.0' gem 'cocoapods', '1.13.0' - 执行依赖安装:
bundle install - 通过Bundler执行pod命令:
bundle exec pod install
原因说明
CocoaPods 1.13.0的依赖声明中,ActiveSupport的兼容范围不包含7.1.x版本。7.1.x版本移除了全局的ActiveSupport.deprecator方法,导致CocoaPods启动时调用该方法失败,触发NoMethodError。
内容的提问来源于stack exchange,提问作者Alex Motor
相关产品推荐
相关产品推荐

