搜索
简帛阁>技术文章>pod执行指定缓存目录,多版本pod执行缓存目录被清问题

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
背景:我的mac环境下有多版本pod,存在执行不同版本pod的情况。安装pod依赖时(podinstall),偶现下面报错:Predownloading:`AFNetworking`from`git@
Pod基本概念理解Pod是什么Pod是Kubernetes应用程序的基本执行单元,它是Kubernetes对象模型中创建或部署的最小和最简单的单元。一个Pod可以包括一个或者个容器。当一个pod包含
C:\Users\Administrator\AppData\Roaming\linksame//禁用缓存appcommandLineappendSwitch(disablehttpcache)
一开始打算用perldoc看Apache2::Request模块,结果在运行时出现如下错误:代码如下:Errorintempfile()using/tmp/XXXXXXXXXX:parentdirec
如下所示:!/bin/bashexecuteallscriptinspecifieddirectoryMYDATE`date+%F''%T''%w`MYSQL_PATH/tmp/scripts指定的目
空git缓存一、总结一句话总结:gitrmcached文件路径,不删除物理文件,仅将该文件从缓存中删除;gitrmf文件路径,不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶);二、
刚换了m1pro芯片电脑后安装cocopods后正常执行podinstall,出错如下报错信息:jianghoufu@jianghoufudeMacBookProios_for_charge_mana
include<stdioh>include<stringh>include<stdlibh>intmain(){chararr[10];strcpy(arr,ge
我们经常会把网站的图片文件上传目录设置为只可上传文件但不能执行文件,就是要禁止执行权限,小编来给大家举一个上传目录配置,禁止执行权限方法,各位可参考。如果不让有执行权限最简单的办法代码如下复制代码l
现在Docker的流行程度越来越高,越来越的公司使用Docker打包和部署项目。但是也有很多公司只是追求新技术,将以前的单体应用直接打包为镜像,代码、配置方式等各方面保持不变,使用Docker后,