美文网首页
pod install与pod update的区别

pod install与pod update的区别

作者: 不拘小节123456 | 来源:发表于2018-03-19 22:40 被阅读29次

    使用规则:
    1,当你需要向向你的项目中安装新的pod库时使用pod install。即使之前你已经有一个Podfile并且执行了pod install,即使你是在向一个已经使用了CocoaPods的项目中添加或移除pod库
    2,只有当你想要更新pod库的版本时才使用pod update。

    pod install

    pod install一般是你第一次想要为项目添加pod的时候使用的,它同样也使用在你为Podfile文件添加或移除pod库的时候。
    原理:
    1,每次pod install命令运行的时候,pod install会为每一个它安装的pod库在Podfile.lock文件中写入其版本号。Podfile.lock文件追踪每一个安装的pod库的版本号,并锁定这些版本号。
    2,当你运行pod install是,它将只解决不在Podfile.lock中的pod库依赖关系
    2.1,对于在Podfile.lock文件中的pod库,pod install会只下载 Podfile.lock文件中指定的版本,而不会去检查这个库是否有更新的版本
    2.2.对于不在Podfile.lock文件中的pod库,pod install会搜索这个pod库在Podfile文件中指定的版本

    pod update

    当你运行了pod update PODNAME命令,CocoaPods会在不考虑Podfile.lock中版本的情况下试着去查找PODNAME的最新版本。pod update PODNAME命令会将相应的pod更新到最新的版本(新版本仍然遵守你在Podfile中做的限制)

    在Podfile中使用确定的版本是不够的

    有人认为通过在Podfile中为pod指定确定的版本就足够保证所有的用户都会拥有相同的版本。

    随后他们可能会只使用pod update(即使是在添加一个新pod时),并且认为这将不会更新其他pod库版本,因为已经在Podfile中指定了确定的版本。

    但是事实上,这样做不能够保证用户1和用户2总是取得完全相同的pod库版本。

    一个典型的例子是,如果pod A依赖于podA2(通过在A.podspec中的dependency 'A2', '~> 3.0声明的)。在这种情况下,在你的Podfile中使用pod 'A', '1.0.0'的确会强制用户1和用户2总是使用podA的1.0.0版本,但是:

    用户1可能会使用A2的3.4版本
    同时当随后加入项目的用户2运行了pod install命令,他可能会得到podA2的3.5版本(因为A2的维护者可能发布了一个新的版本)
    

    这就是为什么唯一能够保证团队中所有的成员都用使用pod库的相同版本的方法就是使用Podfile.lock并且正确的使用pod install和pod update

    参考:http://blog.csdn.net/ShorewB/article/details/52207569

    相关文章

      网友评论

          本文标题:pod install与pod update的区别

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