sudo gem install -n /usr/local/bin cocoapods 安装cocoapods过程中出现的问题,及其解决办法

环境如下 os: macOS Monterey 12.6, XCode 14.2
执行命令:

sudo xcode-select -s /Applications/Xcode.app
sudo xcode-select --install
sudo gem install -n /usr/local/bin cocoapods

执行结果如下:
2020032314194467

从输出可以看出:编译原生插件失败,原因是没有找到ruby.h这个头文件。在终端下cd到 /System/xxxxx/usr/lib/ruby目录下,没有找到include目录。它提示:安装ruby开发环境!

macOS都会自带ruby的,但这个版本可能会过时。

首先你需要检查本地的ruby版本,执行命令:

ruby –v  # 检查本地安装的ruby版本

通常ruby是通过rvm(ruby version manager)的工具来安装的。所以在安装ruby之前你需要先安装rvm!

curl -L https://get.rvm.io | bash -s stable  ## 安装rvm

20200323143407642

安装rvm可能会由于网络原因报错,安装失败!https://get.rvm.io 这个地址对应着一个脚本:https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer ,需要把该文件下载下来保存到本地,命名为rvm-installer.sh,然后在本地执行:

chmod 777 rvm-installer.sh
sh rvm-installer.sh

rvm安装结束后,执行以下命令检查是否安装成功:

source ~/.rvm/scripts/rvm #载入rvm环境 
rvm -v # 查看rvm版本

20200323145320257
20200323145544620
可能会用到的rvm命令参数如下:

rvm list known  ## 列出可以安装的版本
rvm list            ## 列出已经安装的版本    
rvm install 2.6  ## 安装2.6版本

注意,在执行安装ruby开发环境前,请先设置ruby的源为国内镜像,否则其安装过程十分缓慢,而且期间连接有可能会中断。设置ruby国内源:

echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > ~/.rvm/user/db

注意:此处的网址为 cache.ruby-chian.com 而不是 cache.ruby-chian.org ,网上有资料提示为后者网址,但其官网为前者地址。
开始安装ruby 2.6。
20200323150352776
在配置好国内镜像地址的前提下,只有几分钟就安装完成了。

到这里ruby安装好了,再回到前面的问题,在命令行下执行:

sudo gem install -n /usr/local/bin cocoapods

不一会儿就可以看到cocoapods安装完成了。

 

另外一种方式是安装brew,然后通过brew安装cocoapods,这种方式也是可行的!brew的安装方式与rvm的安装方式类似,安装国内版本,则没有网络问题!安装brew后执行:

brew install cocoapods

 

打开Xcode 14.2编译项目时,发现它只支持arm64,不再支持arm7,不得已回退Xcode到13.4.1版本,该版本的XCode在macOS Monterey 12.6上是可用的。

在我给另外一台mac配置cocoapods时发现:macOS Monterey 12.6 + Xcode13.4.1 这样的环境下,根本就不需要另外安装ruby。执行本文开始的那三条命令,就可以成功安装cocoapods!

 

cocoapods安装好了之后,终端执行:

pod setup

 

参考以及感谢网友们的无私贡献:
https://www.rubyonmac.dev/error-error-installing-cocoapods-error-failed-to-build-gem-native-extension 
https://blog.csdn.net/LQMIKU/article/details/105047498
https://zhuanlan.zhihu.com/p/481802103
https://stackoom.com/en/question/4J4S1

posted @ 2023-03-01 11:51  opencoder  阅读(1111)  评论(0编辑  收藏  举报