现在的cocoapods与之前比较,有很多不一样的地方。
因为现在cocoapods需要ruby>=2.2,所以:
1.首先查看ruby是否是最新版的。
#查看当前ruby版本ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),然后在终端需要中输入以下命令:
$ ruby -v
ruby 2.0.0
(1)安装RVM.RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
curl -L get.rvm.io | bash -s stable
等待一段时间后就可以成功安装好 RVM
source ~/.bashrc
source ~/.bash_profile
测试是否安装正常
rvm -v
(2)用RVM升级Ruby
#查看当前ruby版本ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),然后在终端需要中输入以下命令:
$ ruby -v
ruby 2.0.0
#列出已知的ruby版本 --找到最新的版本安装
$ rvm list known
#安装ruby 2.3.0 这个你随意只要大于2.2就行
$ rvm install 2.3.0
注意:有时会出现错误 提示
Requirements installation failed with status: 1.
原因:因Mac未安装Homebrew造成的
解决方法:在命令行输入以下指令安装Homebrew或者进入官网找到最新的下载链接
Homebrew官网:http://brew.sh/index_zh-cn.html 或者
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
注意2 有时WARNING: You have '~/.profile' file, you might want to load it,错误,可尝试命令行输入
echo"source ~/.profile">> ~/.bash_profile
2.更换Ruby镜像--淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。官方的需要FQ。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/) ---->我用的是这个
注:有的可以使用淘宝的源,也不报错,具体原因未知,如无报错可继续使用淘宝镜像。
需要的命令行:
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
gem sources -l (用来检查使用替换镜像位置成功)
出现
则说明成功了。
3.下载安装CocoaPods
PS: 遇到这个错误:
RROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
Yosemite用这句:
在命令行中输入:
$sudo gem install cocoapods
苹果系统升级到 OS X EL Capitan用下面这句:
$sudo gem install -n /usr/local/bin cocoapods
更新一下
更新:sudo gem update cocoapods
安装
在这里会很快就好了。。。网上教程说这样就已经完成安装了。。但我试了一下,直接搜索一下。在终端中输入:pod search AFNetworking。会出现“Setting up CocoaPods master repo“提示,而且很久一直不动,网上说因为没FQ的原因。但是我们已经将bury镜像已经改了,为什么还会这样呢?。还有一个原因是因为在后台下载,还没下载完成,所以会这样。
在这里我等了好久。通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看文件夹的大小。发现一直是0。快崩溃了。
重头再来。首先将ruby更新到最新(上边方法)、将gem更新到最新、将cocoapods更新到最新。在将cocoapods更新到最新时,查到需要执行"pod setup",但是执行这个时会出现一直是“Setting up CocoaPods master repo“,但是查看大小还是0。此外还会出现下面这个新的错误(这个发现让我欣喜若狂,起码不是那么单调了,或许会成为突破口):
[!] An error occurred while performing `git pull` on repo `master`.
[!] /usr/bin/git pull --ff-only
这个错误应该是说这个节点有问题。就又找资料,然后试试把cocoapods的节点删除,重新添加一个节点,或许就行,说干就干:
原因: Cocoapods的分支不支持当前最新的Xcode版本
解决办法: 删除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master
然后再: pod setup
注意 :按我的经验 此时有两种选择
第一种 亲测推荐
里面的做法,去百度网盘 或360网盘访问密码 1ee5下载这个master文件在网盘上。
下载之后,直接拖到repos 文件夹里就可以了。简单粗暴
第二种:老老实实等他下载完成
在pod setup的过程中又是这个提示"Setting up CocoaPods master repo",当时的感觉就快要砸电脑了,最后不死心去查看了一下cocoapods文件夹的大小。结果:
。。没错,没有看错,大小居然一直在增加。心怀激动的慢慢等待。
最终大小
过了大概十几二十分钟左右,pod setup这个操作成功了。
这样,整个cocoapods安装应该成功了吧。我迫不及待的 想要试试。输入"pod search AFNetworking" 居然有内容出来。
然后按照之前的教程在终端中,cd到项目总目录,先创建一个Project,然后创建一个single View Application到桌面,终端中输入cd+空格,把刚刚创建到桌面的文件夹拖到终端中,回车
建立Podfile(配置文件)
接着上一步,终端输入 vim Podfile
键盘输入 i,进入编辑模式,输入:
然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install。。。然后你会发现。。。
注意 : 如果你是这样写的,可能会
platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'
提示这个错误:[!] The dependency `MBProgressHUD`isnot usedin any concrete target.
原来新的cocoapods不能像之前那样安装第三方了。现在的格式是要加上项目的target。如下:
platform :ios,'8.0'
use_frameworks!
target'MyApp'do
pod 'AFNetworking','~> 3.0'
pod'SDWebImage','~>3.7.6'
end
里面的MyApp记得替换为自己工程里面的target。这样就基本OK了,执行pod install / pod update 就都可以了。
在使用 pod install 安装第三方库的时候可能会卡在 Updating local specs repositories
//解决办法把podinstall换成 podinstall--verbose --no-repo-update
end:终于结束了。总结:安装过程出错,则删除并重新(更新)所有的需要的环境:(ruby、gem、cocoapods、其中包括cocoapods的节点),替换新的ruby镜像即可。
// 9.27 更新 读者给的建议 大家可以参考
下载最新的master(https://github.com/CocoaPods/Specs,最好用360下载有断点续传功能)然后按照上面步骤放进repos中,这时可以pod reaserch AFN了,但是却不能用pod install 。解决办法就是把上述网盘中的master 中的 .git文件夹整个复制到,~/.cocoapods/新的master/文件夹下 。
cocoapods,参考的安装流程:
http://www.cnblogs.com/guanshenbao/p/5534578.html#undefined(__君少)