安装 cocoapods 时遇到的坑
今天在新的 mac 上安装 cocoapods. 在将Ruby 的镜像换成淘宝的后.为啥要换,大家都懂的.在天朝.你肯定会被墙的.本以为输入sudo gem install cocoapods此命令就可以坐等 OK 了,但是,cocoapods没有那么和善,抛出了一行错误:Error installing pods:activesupport requires Ruby version >= 2.2.2.
这个大家都能看懂.意思就是你要安装 cocoapods. 你的 Ruby 环境版本必须大于等于2.2.2.于是,我输入了 gem --version.结果出来的版本号是2.6.0.我说这明明大于2.2.2.怎么还提示版本太低呢.结果一查才知道:rvm是用来管理ruby的,ruby的其中一个“程序”叫rubygems,简称 gem,而用来管理项目 的gem的,叫bundle.完全是不同的东西,他们相同的只是都可以管理gem.所以说不能用这个.得用rvm list.一查, ruby 的版本好像是1.9.8吧,看来是cocoapods 没骗我.接下来的工作就是升级 cocoapods 了.
1、安装 RVM
RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
$ curl -L get.rvm.io | bash -s stable
等待一段时间后就可以成功安装好 RVM。测试是否安装正常
rvm -v
然后就可以看到目前装好的 ruby 环境的版本了.因为过程正确过了.没来的及截图.
2、用RVM升级Ruby
查看当前ruby版本
$ ruby -v
ruby 1.8.7
列出已知的ruby版本
$ rvm list known
安装ruby 2.3
$ rvm install 2.3
这里我直接安装2.3版本.
安装完成之后ruby -v查看是否安装成功。
这是就可以看到你安装的当前版本了.
这里还要说的就是ruby - list 是查询你所安装的 ruby 的所有版本.如果不只一个,就把多余的删掉吧,不然会有时候会影响的.
现在安装成功了,接下来就是执行 sudo gem install cocoapods ,安装 cocoapods 了.也如愿的成功了.
接下来就是 pod 第三方库了.结果又被坑了,之前在配置 Podfile 文件的时候没有配置 target. 结果找原来的 pod install 后报错:
[!] The dependency `AFNetworking` is not used in any concrete target.
The dependency `SDWebImage` is not used in any concrete target.
好吧,查了之后才知道,CocoaPods升级到1.0.0.beta版本之后必须配置target,版本变成1.0.0.bate版是因为被CocoaPods的mac客户端覆盖了。所以说又去老老实实的配置好 tagter.才想起来以前的用的是0.39.0的.所以说:如果准备写一个长期项目,最好在创建Podfile文件时将source、target、release信息写全,避免日后被坑。
到这里所有问题就完美解决了.