背景:
我的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