zoukankan      html  css  js  c++  java
  • pod执行指定缓存目录,多版本pod执行缓存目录被清问题

    背景:

    我的mac环境下有多版本pod,存在执行不同版本pod的情况。安装pod依赖时(pod install),偶现下面报错:
    Pre-downloading: `AFNetworking` from `git@gitlab.zhuanspirit.com:zz-ios/AFNetworking.git`, tag `0.0.3`
    [!] Failed to download 'AFNetworking': Directory not empty @ dir_s_rmdir - /Users/zzqadervice/Library/Caches/CocoaPods/Pods
     
    后来排查发现是打包过程中,放pod缓存的目录下的内容被清空了

    pod缓存目录被清空原因:

    1、人为清理
    pod cache clean —all
    -all:清理所有缓存
    指定库名字:指清理对应库缓存(/Library/Caches/CocoaPods/Pods/Specs/Release/库名字)
     
    2、pod版本与上一次执行不一致时,会清空pod缓存目录
    当再执行pod install/update命令时,若当前pod的版本与~/.cocoapods/version中版本不一致,会先进行pod缓存文件清理再进行依赖下载
    *执行pod生成缓存时,会在~/.cocoapods/version文件内记录pod版本号

    解决方法:

    针对不同pod版本,缓存存放在不同目录下,避免pod多版本执行时缓存被清除的问题
    指定当前缓存目录的方式CP_CACHE_DIR="~/.cocoapods/$PODVERSION"
     
    执行前,先指定pod缓存目录,然后去执行pod命令
    例如:
    PODVERSION='1.10.0'
    export CP_CACHE_DIR="~/.cocoapods/$PODVERSION"
    pod _${PODVERSION}_ install
     
    同事看源码分析的全过程:https://mp.weixin.qq.com/s/dfyJxfah2VY5bQyoQQ8L3g
  • 相关阅读:
    IO模型
    函数第一类对象,闭包,迭代器
    admin里面的注册模型类的写法
    升级pip
    Windows部署superset操作手册
    Python命名空间和作用域窥探
    使用CSS3画出一个叮当猫
    D
    [java]说说 JRE , JDK , JVM 三者之间的区别与联系
    H~N皇后问题
  • 原文地址:https://www.cnblogs.com/meitian/p/14344704.html
Copyright © 2011-2022 走看看