iOS问题记录 - CocoaPods is installed but broken


前言

一个老早的iOS项目修复了一个问题,需要打包一个内测版出来给测试人员,但是打包机正忙着打包其他项目,估计一时半会也空不出来。想起电脑上以前装过Jenkins,那何不在自己电脑上运行打包脚本。说干就干,远程登上打包机,把jobs目录下的打包任务复制到自己电脑上。这不轻轻松松就把打包脚本跑起来了,新的代码一拉,pod install一执行,结果问题来了。

开发环境

  • Xcode: 14.0.1
  • Cocoapods: 1.11.3
  • Fastlane: 2.210.1
  • Ruby: 2.6.8p205

问题描述

执行pod install命令报错提示:

Warning: CocoaPods is installed but broken. Skipping pod install.
You appear to have CocoaPods installed but it is not working.
This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
This can usually be fixed by re-installing CocoaPods.
To re-install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

CocoaPods not installed or not in valid state.

问题分析

这报错提示已经说的很详细了,问题出在了安装CocoaPods时使用的Ruby版本与现在调用的Ruby版本不同。

解决办法也在报错提示中说了,重新安装CocoaPods解决。那先尝试重装试试,我电脑上的CocoaPods是通过Homebrew安装的,所以先执行brew卸载命令:

brew uninstall cocoapods

接着执行安装命令:

brew install cocoapods

重装成功接下来测试问题是否解决,找到iOS项目根目录,执行pod install发现还是报错。难道这个报错提示不准确?

如果你通过重装已经解决了该问题,那下面的内容可以略过了😂。

做开发呢,当一个项目之前还很正常,突然遇到奇怪的问题时首先要想到是不是版本升级不兼容了。这项目老早以前运行是正常的,不过因为第三方库没变化,所以很久没执行过pod install命令,不过CocoaPods版本升级过,难道是CocoaPodsRuby的版本有所变化导致的问题?

先看看CocoaPods版本:

pod --version

执行输出:

1.11.3

再看看Ruby版本:

ruby -v

执行输出:

ruby 2.6.8p205 (2021-07-07 revision 67951)

当前使用的Ruby竟然是系统自带的,这有点不科学,我记得我用Homebrew装了3.0的版本,找到环境变量配置文件,发现之前配置的环境变量没了。再看看打包机上的Ruby版本是3.1.2p20,问题的原因看来就是这个了。

解决方案

命令行执行:

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc

设置完毕再来看看当前的Ruby版本:

ruby -v

执行输出:

ruby 3.1.2p20

到此,问题就解决啦🎉。

如果你用的是其他shell,请将.zshrc换成对应shell的环境变量配置文件。当然,你也可以打开环境变量配置文件手动加上export PATH="/usr/local/opt/ruby/bin:$PATH"。其实使用Homebrew安装Ruby时,安装成功后会教你修改环境变量,我记得我安装成功后改过,不知道为啥没了😂。如果以上操作还是没有改变当前使用的Ruby版本,建议重新安装Ruby,按照安装成功以后的提示修改环境变量。

以上是我的最终解决方案,如果你不使用Homebrew,或者问题还没有得到解决,可以继续看看这篇文章iOS问题记录 - CocoaPods is installed but broken(续)

总结

生命在于折腾。

最后

如果这篇文章对你有所帮助,请不要吝啬你的点赞👍加星🌟,谢谢~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值