macOS 10.12.1 + Xcode 8.1 安装cocoapods 1.1.1
最近公司刚给配了一台27寸的iMac,5K屏幕,这酸爽~~,新电脑,免不了系统升级,环境搭建,当一切就绪之后,我就准备装cocoapods了,然而,以前所有的教程全部都变得没用了。。。然而网上一大堆关于macOS的安装cocoapods教程,眼花缭乱,找到几篇好的综合着看,同时结合自己成功的例子,记录下来。。。
首先,电脑是新买的,当然是完全没装过cocoapods了,系统是最新的macOS 10.12.1,Xcode 8.1,由于cocoapods1.1.1的坑爹,先检查自己的gem版本和ruby版本。。。否则,就算更换了ruby源执行install也是失败的
执行ruby -v后,初始ruby版本为2.0.0,gem 版本为2.0.14.1
2.0版本貌似是安装不了的,至少我自己在执行sudo gem install cocoapods是失败的,所以,先升级吧!
终端执行下面代码升级gem
sudo gem update --system
执行下面代码升级ruby到2.2.2版本:
第一步:
curl -L https://get.rvm.io | bash -s stable
第二部:
source ~/.rvm/scripts/rvm
第三步:
检查是否安装成功
rvm -v
结果 return rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
第四步:
rvm list known
执行上面代码后,出现以下结果,显示所有的可用ruby版本,选最新2.2版本的进行升级安装
然后执行
rvm install 2.2.2
耐心等待,因为要先安装brew,安装成功后将出现一堆以下内容就表示安装成功了
ok,把新版的ruby设置成默认,
rvm 2.2.2 --default
人后输入ruby -v 显示的ruby版本是你安装后的新版本,说明ruby安装成功!
那么现在就要修改ruby源了。。
之前一直用taobao源,然后现在才发现这个又废掉了,信息太落后,只好用cocoachina的了,
gem source -a https://gems.ruby-china.org/
再把旧的源移除
gem sources --remove https://rubygems.org/
保证只有一个china的源
完成之后,我们执行下列命令进行安装cocoapods!!
sudo gem install cocoapods
出现下列信息则表示安装成功,否则请检查你的ruby源和gem是否升级成功。。
查看一下pod版本:
YES! 已经安装成功,那么就用 pod setup 按下回车,然后点一根烟,慢慢等待cocoapods安装完毕吧。。。!
pod search 搜索类库失败的解决办法
- 执行
pod setup
- 其实在你安装CocoaPods执行
pod install
时,系统会默认操作pod setup
,然而由于中国强大的墙可能会pod setup不成功。这时就需要手动执行pod setup
指令,如下: - 终端输入:
pod setup
- 会出现
Setting up CocoaPods master repo
,稍等几十秒,最底下会输出Setup completed
。说明执行pod setup
成功。 - 如果pod search操作还是搜索失败,如下:
- 终端输入:
pod search AFNetworking
- 输出:
Unable to find a pod with name, author, summary, or descriptionmatching 'AFNetworking'
这时就需要继续下面的步骤了。
- 其实在你安装CocoaPods执行
- 删除~/Library/Caches/CocoaPods目录下的search_index.json文件
pod setup
成功后,依然不能pod search
,是因为之前你执行pod search
生成了search_index.json,此时需要删掉。- 终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
- 删除成功后,再执行
pod search
。
- 执行
pod search
- 终端输入:
pod search afnetworking
(不区分大小写) - 输出:
Creating search index for spec repo 'master'.. Done!
,稍等片刻······就会出现所有带有afnetworking字段的类库。
- 终端输入: