React Native流水线执行pod install时遇ActiveSupport错误的解决方法
解决React Native流水线pod install时ActiveSupport相关NameError问题
这个错误是Ruby 3.0.x和ActiveSupport 7.0.8的兼容性问题导致的——Logger类加载顺序出错,ActiveSupport找不到对应的Logger常量。下面是几个不需要锁定项目间接依赖的解决办法:
升级Ruby版本
Ruby 3.0.x和ActiveSupport 7.0.8存在兼容bug,把Ruby升级到3.1.x及以上版本就能解决这个加载顺序问题。如果用asdf管理Ruby,执行以下命令:asdf install ruby 3.1.4 asdf global ruby 3.1.4 gem install cocoapods -v 1.16.2之后重新执行
pod install即可。用Gemfile指定兼容的ActiveSupport版本
如果暂时没法升级Ruby,可以在项目根目录创建Gemfile,明确指定和Ruby 3.0.x兼容的ActiveSupport版本(比如7.0.7.2,这个版本修复了加载问题):source 'https://rubygems.org' gem 'cocoapods', '1.16.2' gem 'activesupport', '7.0.7.2'然后执行
bundle install安装依赖,之后用bundle exec包裹pod命令执行:bundle exec pod install清理冲突的gem缓存
若本地缓存的gem存在版本冲突,可手动清理并重新安装兼容版本:gem cleanup rm -rf ~/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/activesupport-7.0.8 gem install activesupport -v 7.0.7.2
内容的提问来源于stack exchange,提问作者izSaad
相关产品推荐
相关产品推荐

