美文网首页pod & git
由于疏忽Podfile.lock文件带来的困扰

由于疏忽Podfile.lock文件带来的困扰

作者: 長茳 | 来源:发表于2021-03-13 14:29 被阅读0次

    写在前面

    相信如果你们是多人开发的,或多或少可能遇到过由于一时疏忽Podfile.lock文件,而带来了困扰.如果你是单人开发那你就不存在说有Podfile.lock文件的问题.

    一. Podfile.lock 文件的作用

    最后一次更新Pods时,记录所有第三方框架的版本号.
    Podfile.lock文件主要包含:PODSDEPENDENCIESSPEC REPOSSPEC CHECKSUMSPODFILE CHECKSUM,用来记录每个pod的版本号、依赖的其他库和每个库对应的podspec.json文件的checksum(SHA1的值).通过这些信息可以确保多人协作时,大家使用的都是相同版本的第三方库.

    二. Pod常用指令区别

    pod install

    • 如果Podfile.lock文件不存在,会根据Podfile文件安装第三方框架,并生成Podfile.lock文件
    • 如果Podfile.lock文件存在,会根据Podfile.lock文件的版本号来安装第三方框架

    pod update

    • 根据Podfile文件安装第三方框架
    • 将所有第三方框架更新到最新版本,并且创建一个Podfile.lock文件覆盖掉原Podfile.lock 文件

    pod install/update --no-repo-update

    安装框架前不会执行pod repo update,意味着不去检查服务器版本,直接使用本地缓存的框架版本

    pod install/pod update过程简述

    • 在通过pod installpod update指令安装框架前,都会先执行pod repo update指令,将服务器最新的框架下载到本地,项目中是否安装最新版本的框架,取决于安装方式:pod install(指定版本)和pod update(最新版本)
    • 在第一次执行pod install指令时,podfile.lock还不存在,会根据podfile中的说明来集成框架.如果指定框架版本号,安装指定版本,如果未指定,安装最新的,并自动生成podfile.lock文件
    • 当以后再次执行pod install指令时,会根据podfile.lock中记录的框架版本号来安装框架.
    • 即便服务器中有最新的版本,通过pod install指令也不会安装最新的第三方框架,只会根据podfile.lock中记录的版本来安装

    项目中的运用

    • Podfile.lock应该加入版本控制,保证小伙伴们的依赖库版本一致,防止出现难以发现的 bug.另外,在初始创建项目的时候就应该加入版本控制.
    • Podfile的语法最好能尽量严谨,最好指定明确的依赖库版本.
    • 理解 pod installpod update 的区别以及它们对 Podfile.lock 的影响,合理使用.一般就是多用 pod install,在需要时使用 pod update.

    写在后面

    Podfile更像是一个版本约束,而Podfile.lock才是你真正使用的版本.如果让你去确定你app使用某一个三方库的版本,你不应该找Podfile,而是应该找Podfile.lock文件.

    最后和谐学习,不急不躁.我还是我,颜色不一样的烟火.

    相关文章

      网友评论

        本文标题:由于疏忽Podfile.lock文件带来的困扰

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