先来了解下两个参数
--verbose 可以显示详细的进度过程,出错时会显示详细的错误信息。
--no-repo-update 不更新cocoapods的spec资源配置信息。
1,pod install
顾名思义,安装配置。
当我们新建一个Podfile文件后,会自动生成一个Podfile.lock文件,Podfile.lock文件存储着我们已经安装的依赖库(pods)版本。
第一次运行 pod install ,如果对依赖库不指定版本,cocoapods会安装最新的版本,同时将pods的版本记录在Podfile.lock文件中。这个文件会保持对每个pod已安装版本的跟踪,并且锁定这些版本。
再次运行 pod install ,只会处理没有记录在Podfile.lock中的依赖库,会查找匹配Podfile中描述的版本。对于已经记录在Podfile.lock的依赖库,会下载Podfile.lock文件中记录的版本,而不会检查是否有更新。如果你约束了pods的版本,会按照你指定的版本进行安装,同时也会更新Podfile.lock记录的信息。
2,pod install --verbose --no-repo-update
安装新库时:只安装新添加的库,并切显示进度。
删除库时:只会删除相关库,并且显示进度。
3,pod update
这个命令会忽略Podfile.lock中的记录,直接去找符合Podfile文件中的该依赖库的约束版本(无约束的话就是最新版本)。
4,pod update 库名?--verbose --no-repo-update
安装新库时:安装指定库,忽略其他库,并切显示进度。
删除库时:删除指定库,忽略其他库,并且显示进度。
5,pod repo update 库名 --verbose --no-repo-update
更新指定库的本地相关库cocoapods的spec资源配置信息。
简单来说,pod repo update命名是用来更新本地cocoapods的spec资源配置信息。
安装完cocoapods后,在用户根目录下有个隐藏文件夹,/Users//.cocoapods,里面是cocoapods收录的所有库的配置信息,/Users//.cocoapods/repos/master/Specs/。比如AFNetworking就是/Users//.cocoapods/repos/master/Specs/AFNetworking,内部分版本包含多个文件夹,每个文件夹内包含一个配置文件,比如AFNetworking.podspec.json。
举例说明:Podfile中AFNetworking的版本更新到了3.1.0,但是本地.cocoapods下找不到相应的配置文件。就会报错,
然后按照提示,执行pod repo update,碰到网速慢的时候,命令执行完了就不动了,又被迫摆出葛优躺等着。
?重点来了,pod repo update实际是更新整个.cocoapods下的所有库,其实我们可以只更新其中某个库来达到快速可用的目的。所以可以用 pod repo update 库名 --verbose --no-repo-update?
|