最近给新的Mac安装CocoaPods,在网上找了一下资料,发现文章要过时,要什么各种报错。特意整理了一下最新的教程,并亲测成功.taobao Gems源已停止维护,中国提供镜像服务
不要升级ruby,rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。如果已经安装过跳到第2步(rvm -v查看是否安装)
curl -sSL https://get.rvm.io | bash -s stable
//需要等一会
源〜/ .bashrc
源〜/ .bash_profile
等待终端加载完毕,后输入
rvm -v
如果能显示版本号则安装成功了。
CocoaPods目前安装需要Ruby的版本大于2.2.2,不然会报错:安装pods时出错:activesupport需要Rubyversion> = 2.2.2。目前Mac系统默认自带是2.0,所以需要升级。
查看已安装的红宝石:
RVM列表
如果已安装版本大于2.2.2,直接到第3步。
ruby -v //也可以查看ruby版本
//列出红宝石可安装的版本信息
已知的RVM列表
rvm install 2.2.2 //安装一个ruby版本
rvm使用2.2.2 - 默认
我们需要来修改更换源(由于国内被墙)所以要把源切换至红宝石中国在终端执行以下命令
目前网上文章大都是这面这种:
sudo gem更新 - 系统
宝石来源 - 删除https://rubygems.org/
//等有反应之后再敲入以下命令
宝石来源-a https://ruby.taobao.org/
这里是个大坑:会报错_connect returned = 1 errno = 0 state = SSLv3读取服务器证书 B:证书验证失败(https://ruby.taobao.org/specs.4.8.gz)
这是因为taobao Gems源已停止维护,由由ruby-china提供镜像服务,正确的操作是:
sudo gem更新 - 系统
宝石来源 - 删除https://rubygems.org/
宝石来源--remove https://ruby.taobao.org/ //如果安装了淘宝的镜像
//等有反应之后再敲入以下命令
宝石来源-a https://gems.ruby-china.org/
为了验证你的Ruby镜像是并且仅是ruby-china,可以用以下命令查看:
宝石来源-l
只有在终端中出现下面文字才表明你上面的命令是成功的:
***当前来源***
https://gems.ruby-china.org/
#确保只有gems.ruby-china.org/
这里有几种选择
1)中,在终端输入以下命令:
sudo gem install -n / usr / local / bin cocoapods
荚设置
这个过程会很慢,反正我挂了一天最后还是跟远端连接失败挂掉了,据说大多都是挂机一晚上才装好的,继续往下看吧,总有更好的。
2)、执行:
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
感觉也就几分钟的样子,
normal.png有如图就正常了,最后切记要:
pod repo update
用第一种挂掉后改用这种很快就搞定了,长舒一口气,先随便搜索一个第三方库,如 pod search AFNetWorking,有结果不报错说明已经安装成功了。
3)、把你已经装好了CocoaPods同事~/.cocoapods目录下的repo目录拷贝下来,放进自己的目录里。再 pod setup。
尝试着将自己安装好的cocoapods目录下的repos文件拷贝到U盘,由于里面文件数量非常之多,速度相当慢。所以个人觉得第二种方法要好一些。
好了,三种方法都介绍完了,选哪种自己斟酌。
补充:
2017.5.31补充更新:
假如完成以上步骤后输入pod命令报错:-bash: pod:command not found
解决办法:sudo gem install -n /usr/local/bin cocoapods
指令执行完后就可以使用pod命令了,系统升级10.11后需要这样处理。
某些环境原因导致pod更新不了,可能原因有
1).gem版本太低;
2).github无法链接;
3).cocoapods目录下的配置信息错误。
我们可以一个一个来排除,首先更新gem到最新版本,在终端中输入:
$ sudo gem update --system
然后检查是否可以ping通github,在终端中输入:
$ ping github.com
然后查看pob repo list:
$ pod repo list
结果显示0 repos,说明没有安装成功;
删除.cocoapods目录,重新下载pod更新:
$ cd〜/ .cocoapods /
$ sudo -rm -rf〜/ .cocoapods /
重新执行pod setup,过一段时间后提示setup setup,在终端中输入pod list,展示出安装列表;
接下来看下如何使用:
我们先创建这个神奇的PodFile在终端中进入(CD命令)你项目所在目录,然后在当前目录下,利用VIM创建Podfile,运行:
$ vim Podfile
然后在Podfile文件中输入以下文字:
平台:IOS,'7.0'//注意IOS要小写,有大写会报错
目标'你的项目名称'做
pod'AFNetworking','〜> 3.1.0'
结束
然后保存退出VIM的环境下,保存退出命令是:
:WQ
这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。
这时候,你就可以利用CocoPods下载AFNetworking类库了还是在终端中的当前项目目录下,运行以下命令:
$ pod安装
注意最后一句话,意思是:以后打开项目就用CocoaPodsDemo.xcworkspace打开,而不是之前的.xcodeproj文件否则无法关联荚下来的类库。
工欲善其事,必先利其器。
网友评论
解决办法:sudo geminstall-n/usr/local/bincocoapods
是不行的,以下方法可以
mkdir -p $HOME/Software/ruby
export GEM_HOME=$HOME/Software/ruby
gem install cocoapods
export PATH=$PATH:$HOME/Software/ruby/bin
curl -sSL https://get.rvm.io | bash -s stable