安装Cocoapods填坑之旅
此处应该有张图镇楼
ipad-desk.jpg系统:Mac OS 10.11.5
一直没有使用过Cocoapods去管理第三方库,最近要研究ReactiveCocoa,看网上的文章说用Cocoapods去管理ReactiveCocoa比较方便,所以决定研究下Cocoapods,没想到,在国内的网络环境下,满满的都是坑呐。
第一步:升级Ruby环境
sudo gem update --system
第二步:切换安装源
因为防火墙的关系,需要切换安装源,使用淘宝提供的源
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
可以用以下命令验证是否切换成功,显示如下就算正常了:
$ gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org/
第三步:安装cocoapods
$ sudo gem install cocoapods
执行....然后出现了坑
【坑1】
提示Ruby的版本必须>2.2.4,纳尼,最开始不是已经更新到最新版了么?赶紧输入命令查看Ruby的版本
ruby -v
果然版本居然是2.0.0,再执行第一步,还是提示已经是最新版了,无解,问Google吧,然后找到一篇文章,告诉我们如何安装Ruby
http://www.cnblogs.com/daguo/p/4097263.html
按步骤完成,成功把Ruby升级到了2.2.4
继续执行sudo gem install cocoapods命令,安装cocoapods
等上几分钟,安装完成
上图是后来为了这篇文章重新执行命令截得图,所以提示安装的东西比较少,随便看看吧,注意这里,版本号是1.0.1,这个很关键,后面配置Podfile时,会不一样,这个稍后再说。
第四步:下载cocoapods的配置
pod setup
【坑2】
其实我也不知道是我的网络原因还是什么原因,不管是拨了VPN还是没有,输入上面的命令后显示
Setting up CocoaPods master repo
就一直卡这里不动了,说是要下载很大的文件,但是我中午吃个饭回来,看看还是没什么动静,果断放弃,查找解决办法。在网上找了半天,发现都是说替换安装源,但是其中的源都已经挂了。没办法,网上文章抄来抄去,也不实践下就转。终于在一个论坛里面发现了解决思路,虽然我不是用他提供的方法来解决的,但是差不多也算是给我指明了解决方向,中间还遇到了不少问题,但是一一克服了
折腾了半天,总算是明确了一个概念,执行pod setup其实是去
https://github.com/CocoaPods/Specs
上下载文件到电脑的~/.cocoapods/repos目录下,知道这个道理,就知道怎么解决了
首先执行下pod setup,然后进入到~/.cocoapods/repos/master/的目录下,可以看到一个.git目录(看不到的去问Google,如何显示隐藏文件)先拷贝到其他地方,备用,别问我为什么,我也是灵机一动想出来的,嘿嘿。
- 打开https://github.com/CocoaPods/Specs 打包下载。
- 下载完成后解压缩,查看master/Specs可以看到里面有很多第三方库的文件夹,不管他,把Specs重命名成master ,将这个命名后的目录拷贝到~/.cocoapods/repos/目录下,注意,是Specs改名后的master,不是他的父文件夹,虽然改过名字后是同样一个名字
- 这个时候还不算完,因为这个是我们手动下载的,没有.git的资料,如果这个时候我们去使用它去下载第三方库,会报错。现在将之前的.git目录拷贝到
~/.cocoapods/repos/master/
目录下,好了,搞定,接下来就可以去使用Cocoapods了。
至于如何使用Cocoapods,就不用说了,网上很多这类的文章,这里只记录安装出现的坑和填坑步骤。
好了,最后再说一个使用Cocoapods的小坑,其实也不算是坑啦
因为我们下载的是Cocoapods 1.0.1,所以它的配置文件的格式换掉了
以安装AFNetworking为例,之前的配置是这样的
platform:ios,'7.0'
pod 'AFNetworking', '~> 3.1.0'
但是执行
pod install --verbose --no-repo-update
后会提示
Paste_Image.png这个时候,我们需要把配置文件换成
platform:ios,'7.0'
target "项目名称" do
pod 'AFNetworking', '~> 3.1.0'
end
其中的项目名称就是你的项目的名字,再执行安装命令就没问题了
走过了很多岔道,终于到了目标,记下来权当笔记,公开出来,权当为码农服务,哈哈。