在mac上安装cocoapods,一路的坑啊,无数报错啊有木有!

本以为安装很简单,mac下都自带ruby,使用ruby的gem命令即可下载安装:

$ sudo gem install cocoapods

$ pod setup

 

报错!有可能是gem版本太低,升级一下gem:

$ sudo gem update --system

 

完成后重新执行开始那两行,又报错:

Error installing pods:activesupport requires Ruby version >= 2.2.2

ruby版本太低,查看当前mac的ruby版本

$ ruby -v

输出ruby 1.8.7,现在需要使用RVM对Ruby进行升级,RVM是Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset),现在我们先安装RVM:

$ curl -L get.rvm.io | bash -s stable

等一会儿安装成功RVM后:

$ source ~/.bashrc

$ source ~/.bash_profile

查看是否安装正常:

$ rvm -v

完成后,用RVM升级Ruby,可以先列出所有的ruby版本:

$ rvm list known

安装ruby 2.3.0

$ rvm install 2.3.0

安装完成之后查看是否安装成功:

$ ruby -v

 

完成后重新执行开始那两行,又报错!ruby软件源被墙了,更新一下ruby源,将官方的ruby源替换成国内淘宝的源:

$ gem sources --remove https://rubygems. org/

$ gem sources -a https://ruby.taobao.org/                      // 注意是https而不是http

$ gem sources -l

输出:

*** CURRENT SOURCES ***
https://ruby.taobao.org/                                                // 确保只有一个源

 

重新执行开始那两行,等了好久好久,期间查看下载进度:

$  cd ~/.cocoapods

$  du -sh *

下载了270M后的某个时候,又报错:

Setting up CocoaPods master repo 
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master –depth=1 
Cloning into ‘master’… 
error: RPC failed; result=18, HTTP code = 200 
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed

郁闷了,白等了好久,查资料后:

$ git config --global http.postBuffer 524288000

$ git config --list

重新执行:

$ pod setup

 

等了好久好久后,又报上面那个错,再查资料后:

$ pod repo remove master                           // 移除master

$ sudo gem uninstall cocoapods                   // 卸载cocoapods

1、卸载pod

获取pod的路径:

$ which pod

删除pod

$ sudo rm -rf <pod的路径>

2、删除rubygems相关cocoapods的包

查看rubygems的本地程序包

$ gem list

输出:

***LOCALGEMS***

activesupport(4.2.3)
bigdecimal(1.2.0)
CFPropertyList(2.2.8)
claide(1.0.0.beta.1,0.9.1)
cocoapods(0.39.0,0.39.0.beta.4,0.38.2)
cocoapods-core(1.0.0.beta.4,0.39.0,0.39.0.beta.4,0.38.2)
cocoapods-deintegrate(1.0.0.beta.1)
cocoapods-downloader(1.0.0.beta.1,0.9.3,0.9.1)
cocoapods-plugins(1.0.0.beta.1,0.4.2)
cocoapods-search(1.0.0.beta.1,0.1.0)
cocoapods-stats(1.0.0.beta.3,0.6.2,0.6.1,0.5.3)
cocoapods-trunk(1.0.0.beta.2,0.6.4,0.6.1)
cocoapods-try(1.0.0.beta.2,0.5.1,0.4.5)
colored(1.2)
escape(0.0.4)
fourflusher(0.3.0)
fuzzy_match(2.0.4)
i18n(0.7.0)
io-console(0.4.2)
json(1.7.7)
libxml-ruby(2.6.0)
minitest(5.7.0,4.3.2)
molinillo(0.4.4,0.3.1)
nap(1.0.0,0.8.0)
netrc(0.7.8)
nokogiri(1.5.6)
psych(2.0.0)
rake(0.9.6)
rdoc(4.0.0)
rubygems-update(2.4.8)
sqlite3(1.3.7)
test-unit(2.0.0.0)
thread_safe(0.3.5)
tzinfo(1.2.2)
xcodeproj(1.0.0.beta.3,0.28.2,0.27.2,0.26.3)

移除跟cocoapods相关的程序包

cocoapods (0.39.0, 0.39.0.beta.4, 0.38.2)
cocoapods-core (1.0.0.beta.4, 0.39.0, 0.39.0.beta.4, 0.38.2)
cocoapods-deintegrate (1.0.0.beta.1)
cocoapods-downloader (1.0.0.beta.1, 0.9.3, 0.9.1)
cocoapods-plugins (1.0.0.beta.1, 0.4.2)
cocoapods-search (1.0.0.beta.1, 0.1.0)
cocoapods-stats (1.0.0.beta.3, 0.6.2, 0.6.1, 0.5.3)
cocoapods-trunk (1.0.0.beta.2, 0.6.4, 0.6.1)
cocoapods-try (1.0.0.beta.2, 0.5.1, 0.4.5)

把这些文件全部卸载

代码:sudo gem uninstal <文件名>

以删除cocoapods为例

$ sudo gem uninstal cocoapods

输出:sudo gem uninstal cocoapods

3、删除完之后,执行安装cocoapods

$ sudo gem install -n /usr/local/bin cocoapods--pre

安装完之后:

$ pod--version

输出:1.0.1

再次执行

$ pod setup

.

.

.

又是等了好久好久,又是报错:

[!] /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into'master'...
error: RPC failed; result=56, HTTP code =200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

我要崩溃啦啦啦啦啦啦啦啦

再次设置

$ git config --global http.postBuffer 524288000               // 1024*1024*500 = 500M

$ pod setup

还是一样的报错如上,有可能是postBuffer还不够大的原因,配置一个超级大的值试试:

$ git config --global http.postBuffer 1073741824              // 1024*1024*1024 = 1024M

$ pod setup

OK,等了好久终于搞定,输出:

Setting up CocoaPods master repo

Setup completed

来,试试CocoaPods是否可以使用,用CocoaPods的搜索功能验证一下:

$ pod search AFNetworking

现在终于好了。。。

总结一下:其实安装步骤很简单,关键步骤是将官方的ruby源替换成国内淘宝的源,然后是http.postBuffer设置成500M还不够大,我设置成1024M才成功,这个可能会因人而异吧,最后是网速网速网速网速网速网速网速网速网速网速网速网速网速网速。。。。。

posted on 2016-05-13 14:22  HLL1515  阅读(8995)  评论(0编辑  收藏  举报