美文网首页
pod-常用命令解析

pod-常用命令解析

作者: 帽子和五朵玫瑰 | 来源:发表于2018-05-15 10:25 被阅读0次

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时,会优先从本地缓存中读取数据。
清除缓存

6.pod repo update

快速更新:

场景:几个人共同维护一个项目,Podfile也是共同维护一份。有一天其中一个人,升级了Podfile中某个库的版本,比如AFNetworking从3.0.4升级到了3.1.0, pod 'AFNetworking', '~> 3.1.0’。然后,你更新了最新的Podfile,跑了一下pod install。。。。。。

1、先从pod install抛出的异常开始,如下图:

http://aliyunzixunbucket.oss-cn-beijing.aliyuncs.com/jpg/c37dbe88ee042ebe29a855958055d44d.jpg?x-oss-process=image/resize,p_100/auto-orient,1/quality,q_90/format,jpg/watermark,image_eXVuY2VzaGk=,t_100,g_se,x_0,y_0
为了解决这个异常可能尝试一下:

(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。

http://aliyunzixunbucket.oss-cn-beijing.aliyuncs.com/jpg/e5f9474b20745074b1fc24039b696fd4.jpg?x-oss-process=image/resize,p_100/auto-orient,1/quality,q_90/format,jpg/watermark,image_eXVuY2VzaGk=,t_100,g_se,x_0,y_0
上面报错的原因就是,Podfile中AFNetworking的版本更新到了3.1.0,但是本地.cocoapods下找不到相应的配置文件。

然后按照提示,执行pod repo update,碰到网速慢的时候,命令执行完了就不动了,又被迫摆出葛优躺等着。

重点来了,pod repo update实际是更新整个.cocoapods下的所有库,其实我们可以只更新其中某个库来达到快速可用的目的。下面提供两个方法解决:

(1)正规方法:

指定更新单独库pod repo update /Users/<user>/.cocoapods/repos/master/Specs/<lib name>

(2)野路子:

如果方法1仍然无法解决问题,而又着急使用。可以直接到相应目录下手动增加缺少的版本目录和spec文件,/Users/<user>/.cocoapods/repos/master/Specs/<lib name>/3.2.0/<lib name>.spec。spec文件参考git上相应库的版本。

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

相关文章

  • pod-常用命令解析

    pod常用命令 1.pod installpod install :执行第三方库的安装,如果podfile.loc...

  • [mark] npm 了解一下~

    npm 常用命令及解析

  • Docker系列之二:常用命令解析

    title: Docker系列之二:常用命令解析categories: Dockertags:- Dockerti...

  • Flutter笔记

    常用命令 第三方 JsonSerializableGenerator在线解析[https://caijinglon...

  • mysqlbinlog 技巧

    常用命令 1. 解析 binlog 排查问题 如果只是解析出来查看,可以加 --base64-output=dec...

  • Spark shell

    常用命令 1.1 --master 1.1.1 --master后接参数解析 (1) local Run Spar...

  • 组件化思路整理

    组件化设计 1.路由(URL/Target-Action/BeeHive)2.pod的使用3.依赖注入 pod->...

  • git看一篇就够了

    目录: 一 架构 二 常用命令解析 三 常见scenario 正文: 一 架构 1 各个模块介绍: 远端Repos...

  • 【Linux】CentOS7 常用命令集合

    常用命令 文件与目录操作 命令解析 cd /home进入 ‘/home’ 目录 cd ..返回上一级目录 cd ....

  • Linux学习笔记

    Linux常用命令 Linux显示隐藏文件 Linux网络设置 dns服务解析域名配置 临时设定ip相关配置 添加...

网友评论

      本文标题:pod-常用命令解析

      本文链接:https://www.haomeiwen.com/subject/shredftx.html