美文网首页
pod install VS. pod update

pod install VS. pod update

作者: 黄易女民工jiang | 来源:发表于2017-04-27 10:53 被阅读0次

介绍

许多刚开始使用CocoaPods的人似乎认为pod intall 只是用于你第一次用CocoaPods来创建项目, pod update是随后一直应用的。但是这并不是全部。

这个guide的宗旨是解释你什么时候用pod intall 你什么时候用 pod update.

TL:DR:

1.用pod install 为你的项目安装新的pod. 即使你已经有了一个Podfile 并且之前已经pod install了。所以即使你仅仅只是在一个已经应用CocoaPods的项目中添加、移除pod.

2.用pod update是在你想要把pods更新到一个新的版本。

命令的详细描述

Note:单独的intall vs. update的单词对于CocoaPods并没有实际上的明确意义。它是受其他的依赖管理像是bundler, RubyGems 或者comporser ,这些有相似的命令,有准确相同的行为和意图在这个文档下描述的这些才有意义的。

pod install 

这个将会被第一次使用于在你的项目中检索pod,也应用于你每一次剑姬你的Podfile去添加、更新 、删除一个pod.

1.每一次pod intall 命令运行 ——下载 或者 更新新的pods ——在Podfile.lock为每一个pods写入已经安装了的版本号。这个文件追踪每一个已经安装的pod的版本,并且锁定这些版本。

2.当你运行pod install,他仅仅解决并不在Podfile.lock中列入的pods的依赖。

    a.对于已经在Podfile.lock中列入的pods,他不通过检查是否新的版本是可用的,只下载在Podfile.lock中已经明确的版本。

    b.对于那些还没有在Podfile.lock中列入的pods, 他搜索匹配在Podfile中已经写入的版本(如 pod 'MyPod','~>1.2')

pod outdated

当你运行pod outdated, CocoaPods将列入比已经在Podfile.lock上列表的所有版本的更新的版本(这些版本是已经安装的pod)。这就意味着你在这些pods上运行pod update PODNAME,他们将会update —— 只要这些版本认知匹配在你的Podfile中设置的 pod 'MyPod', '~>x.y'的限制条件。

pod update

当你运行pod upate PODNAME, CocoaPod将会试图找到一个pod PODNAME已经更新了的版本,不考虑已经在Podfile.lock中列入的版本。它将会更新最新的版本(直到和你的Podfile中的版本一致)。

如果你只运行pod update,没有PODName, CocoaPods将会更新每一个你Podfile中列入的pod的最新版本。

使用

使用pod update PODNAME, 你将会更新一个特定的pod(检查新版本是否存在并且相应的更新)。相对的是pod install 不会更新你已经安装的pods.

当你添加pod 到你的Podfile,你应该运行pod install, 而不是pod update —— 安装这个新的pod 并且并不用冒险在同一个进程中来更新已经存在的pod。

你仅仅可以使用pod update当你想要更新特定pod(或者所有pod)的版本

提交你的Podfile.lock

作为提示,即使你们项目规则中并不需要提交Pods文件夹到你的仓库中,你也应该提交并push你的Podfile.lock文件。

否则,它将会打破整个关于pod install 将会锁定你已经的安装的pods的逻辑。

举例 ,并且原文 http://guides.cocoapods.org/using/pod-install-vs-update.html#intended-usage

相关文章

网友评论

      本文标题:pod install VS. pod update

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