如果上篇文章没能解决你的问题,那可以试试这篇文章的解决方案。
执行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.
具体分析过程请看上篇文章。总的来说,是因为Ruby
的版本有问题。
不同于上篇文章的解决方案,这次通过RVM
来管理多个Ruby
版本,以此来解决Ruby
的版本问题。
首先安装RVM
,打开RVM
官网,可以看到安装步骤已经列出来了。
图中第一步是设置一个密钥,这个其实就是RSA加密里的公钥,用来验证软件的签名,避免下载的软件被人篡改。
设置密钥前需要先装一个GnuPG
,不然你是找不到gpg2
命令的。如果你已经在电脑上安装过,那么请跳过这一步。这边安装GnuPG
有两种方式,一是在GnuPG
官网下载页下载对应系统版本后安装,二是通过Homebrew
安装。由于我已经安装了Homebrew
,所以通过第二种方式安装。
安装GnuPG
:
brew install gnupg
通过上方命令安装的GnuPG
是最新版本(当前最新版本是2.3.8
,也就是v2版本),使用下方命令安装也是一样的效果:
brew install gnupg2
设置密钥:
gpg --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
这边和官网提供的安装命令有点不同,这是因为当前brew命令默认安装的版本就是最新的v2版本,所以命令的名称是gpg
,使用gpg2
是找不到命令的。如果设置密钥失败,可能这篇文章GnuPG问题记录 - keyserver receive failed: Network is unreachable会对你有所帮助。
安装RVM
:
\curl -sSL https://get.rvm.io | bash -s stable
如果安装过程中遇到以下问题:
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 3 ms: Connection refused
可以尝试修改hosts
文件解决,具体请看这篇文章。
到此RVM
就安装完成啦,安装成功后一般不需要手动配置环境变量,会自动配置,可以关闭当前命令窗口重新打开让新增的环境变量生效。如果你是为了Ruby on Rails
这个Web开发框架而安装RVM
,那安装命令要换成下方这个:
\curl -sSL https://get.rvm.io | bash -s stable --rails
接下来看看有什么Ruby
版本可以安装:
rvm list known
执行输出(省略部分,太长了):
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.10]
[ruby-]2.5[.8]
[ruby-]2.6[.6]
[ruby-]2.7[.2]
[ruby-]3[.0.0]
ruby-head
# for forks use: rvm install ruby-head- --url https://github.com/github/ruby.git --branch 2.2
# JRuby
jruby-1.6[.8]
jruby-1.7[.27]
jruby-9.1[.17.0]
jruby[-9.2.14.0]
jruby-head
...
MRI
是用C语言写的解释器,JRuby
是用JAVA写的解释器,一般选MRI
的解释器安装就行了。
安装3.0版本的Ruby:
rvm install ruby-3.0.0
安装完成后看看当前的Ruby
版本:
ruby -v
执行输出:
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin21]
Ruby
版本没问题,但是因为换了运行环境,所以需要重新安装Cocoapods
和Fastlane
才能进行iOS打包。
安装Cocoapods
:
gem install cocoapods
安装Fastlane
:
gem install fastlane
到此,这个问题的另一种解决方案就写完啦。
生命在于折腾。
如果这篇文章对你有所帮助,请不要吝啬你的点赞加星,谢谢~