首页 > 技术文章 > 安装CocoaPods

cchHers 2018-06-05 16:35 原文

================2019年11月30日

新增CocoaPods的删除。

我电脑上对pod做过一些骚操作,导致今天使用pod时,出现问题。

问题的现象是,使用pod --version是可以查到版本号的,但是使用pod search搜索的时候就提示:

pod search Mansonry
[!] Unable to find a pod with name, author, summary, or description matching `Mansonry`

问题应该就是pod的确是安装好了,但是他的一些功能出问题了,简单起见,我的想法就是直接重装pod就行了,但是使用:

sudo gem install cocoapods

只能是差异化安装,电脑中与pod相关的文件没有彻底替换。所有我只能用下面的方法,先将存在的pod相关的文件全部删除后在重新安装。

1)卸载老版本CocoaPods

& sudo gem uninstall cocoapods

 

2)查看本地安装过的cocoapods相关内容

& gem list --local | grep cocoapods

显示如下:

 

 然后使用sudo gem uninstall 命令逐个删除,比如

$ sudo gem uninstall cocoapods-core

 

3)上面列表中的项都删除完成之后,那就安装下面的内容安装pod就行了。

 

================2019年9月5日晚

更新记录:

RubyGems镜像域名由之前的:

https://gems.ruby-china.org/

更换为最新的:

https://gems.ruby-china.com/

原因如下:

 

 ================

昨晚上把系统升级到10.13.5,将Xcode升级到9.4版本。

今天在使用pod时候。。。我的pod呢?急忙敲击pod --version

不解释,竟然没有了。重新装吧

第一步:

安装pod需要使用到ruby,mac自带ruby,不过版本需要更新下。

但是ruby的软件源rubygems.org被屏蔽了,所以我们更换源头(已验证http://ruby.taobao.org/已经失效)

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

然后用下面这个命令验证下替换是否成功

gem sources -l

替换成功后,现在就更新ruby

sudo gem update --system

 

第二步:

现在就开始安装pod

sudo gem install cocoapods

什么?你用上面这个命令出错啦,那你使用下面这句吧

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

下载完成后,是否安装成功,使用下面这个命令检测下吧

pod --version

 

第三步:

pod安装成功后,接下来需要设置仓库了。大概是这么个意思:就是把所有上传到CocoaPods上的第三方框架下载每个版本和网络地址以及一些其他描述信息到本地。因为当你使用pod search xxx的使用,其实也就是在这个本地仓库中进行搜索的。你想想,每个搜到的框架是是不是包含每个版本的版本号和介绍?就是这个。

pod setup

但是因为远程的代码仓库服务器是在国外,所以更新利用pod setup更新本地仓库索引的时候也是很慢的,我用vpn也就是118kb/s作用。

网络上有些人把这个仓库索引分享出来了,你也可以搜索相关的教程使用。大概的思路是这样的,你先使用pod setup,接下来它会先设置好仓库的目录。出现下面的提示说明下载成功目录:

Setting up CocoaPods master repo
$ /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master
--progress
Cloning into 'master'...
remote: Counting objects: 2194096, done.        
remote: Compressing objects: 100% (500/500), done.  

接下来就是下载索引的具体内容了:

Receiving objects:  50% (1099804/2194096), 167.34 MiB | 105.00 KiB/s 

当它开始下载的使用使用Ctrl+c中断,目的是让它自己创建好这个目录就好了,其他的下载的事情就不需要了。然后你将别人分享出来的仓库索引下载下来(别人一般是通过国内的云盘分享,所以速度杠杠的,当然,是要比较后才有的幸福感),然后再到这个目录(~/.cocoapods),将下载的文件放在对应的文件路径中(一般是~/.cocoapods/repos/master)。对了,这个(~/.cocoapods)是属于隐藏文件,你需要先【设置隐藏文件可见】,才能进到这个目录。具体操作不明说,自行搜索教程。(我的网速我觉得可以,乘着在下载中,我刚好能写下这篇文章)。

对了,还有个命令可以提醒下,下面这个命令可以看到文件夹的大小:(当然,使用另一个命令行窗口)

命令一行一行的敲,先进入,再查文件大小。

cd ~/.cocoapods
du -sh *

 

注意事项:

最后当我开始使用pod search的使用,我惊讶的发现,竟然提示我不能搜索:

pod search Mansonry
[!] Unable to find a pod with name, author, summary, or description matching `Mansonry`

根源是什么我不知道,但是我明白最直接的原因就是索引表肯定出问题了。索引表是在pod setup的过程中创建出来的,之前执行pod setup的时候是完美收局的,所以本地仓库肯定是建立好了的,这个时候采用的方案就是手动把索引表删除,然后让pod根据本地仓库重新生成一份索引表。

第一步,删除索引表,执行

rm ~/Library/Caches/CocoaPods/search_index.json

第二步,随便搜索一个第三方库,执行

pod search afnetworking

接下来会出现

Creating search index for spec repo 'master'..

然后呢。你要坚信你只需要耐心的等待~不要放弃!后面会出现

Creating search index for spec repo 'master'.. Done!

Done!!!!!

 

哦,对了,介绍一个网址【https://cocoapods.org/】。

 

 

推荐阅读