首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

pod-常用命令解析(1)

pod-常用命令解析(1)

pod常用命令

1.pod install

pod install :执行第三方库的安装,如果podfile.lock存在则会根据该文件指定的版本进行安装

每次更新了podfile文件时,都需要重新执行该命令,以便重新安装pods依赖库

2.pod update

pod update:执行各种库的安装,并且更新到最高版本。如果podfile中指定的依赖库不是写死的。

3 pod install --no--repo--install && pod update --no--repo--update

当执行pod install或者pod update时都卡在了Analyzing dependencies不动,原因在于执行install或update时,会升级cocoapods的spec仓库,加入参数可以省略这一步,然后速度就会提升不少。

4.pod cache list

查看缓存

5.pod cache clean -all

问题描述:本地和远程git仓库,都删除了 tag0.05。但是执行pod update时,依旧可以拉取到0.05的代码

原因分析:是由于pod缓存造成的,虽然本地个远程git仓库都删除了,但是本地pod缓存中,依然有tag0.05的缓存,执行pod update时,会优先从本地缓存中读取数据。
清除缓存
1、先从pod install抛出的异常开始,如下图:
(1)是不是Podfile和Podfile.lock 文件不同步?删掉.lock文件再pod install一次,仍然报错。

(2)是不是AFNetworking没有3.1.0版本?pod search afnetworking一下,版本存在。
如果被我猜中了,证明你把焦点放在了异常前三行,而忽略了最关键的信息:None of your spec sources contain a spec satisfying the dependencies: AFNetworking (~> 3.1.0), AFNetworking (= 3.1.0)。

这句话的意思是说:你spec资源中不包含AFNetworking的3.1.0的配置信息。这里面有个关键词,spec资源和配置信息。

然后最下面提醒pod repo update’ does not happen on ‘pod install’ by default。意思是默认情况下,执行pod install不会自动执行pod repo update命令。那么pod repo update做了什么?

2、pod repo update

简单来说,pod repo update命名是用来更新本地cocoapods的spec资源配置信息。

安装完cocoapods后,在用户根目录下有个隐藏文件夹,/Users/<user>/.cocoapods,里面是cocoapods收录的所有库的配置信息,/Users/<user>/.cocoapods/repos/master/Specs/<lib name>。比如AFNetworking就是/Users/<user>/.cocoapods/repos/master/Specs/AFNetworking,内部分版本包含多个文件夹,每个文件夹内包含一个配置文件,比如AFNetworking.podspec.json。
返回列表