1. ホーム
  2. ios

[解決済み] ローカルにあるcocoapodsのキャッシュから特定のpodをクリアまたはクリーンする方法

2023-02-02 07:31:33

質問

cocoapodsのキャッシュから特定のポッドを削除またはクリアする方法は?

キャッシュ全体を直接削除しようとしましたが、すべてのポッドを取り戻すのに多くの時間がかかりました。キャッシュから特定のポッドを表示および削除するにはどうすればよいですか?

以下の方法が有効です(より長い時間コミットします)。

# delete all cached pods
`rm -rf "${HOME}/Library/Caches/CocoaPods"`  

# delete local Pods/*
rm -rf "`pwd`/Pods/"

# pod update to fetch latest. After entire cache deletion, it takes lot longer to fetch and rebuild pod cache from scratch. 
`pod update` 

podfileからコメントアウトするだけで pod install は再びキャッシュから古いバージョンを取得します。

同じPodのインスタンスがPodキャッシュに多数存在すると、Podのサイズが大きい場合に困ることがあります。 cocoapods1.3.1Xcode9 .

どのように解決するのですか?

特定のポッドをクリアする

pod cache clean --all # will clean all pods
pod cache clean 'FortifySec' --all # will remove all installed 'FortifySec' pods 

の出力例 pod cache clean 'FortifySec' のように、セマンティックバージョニングを使用していないPodの場合、これはキャッシュ内に同じPodの多くのコピーをもたらす可能性があります。

pod cache clean 'FortifySec'
1: FortifySec v2.2 (External)
2: FortifySec v2.2 (External)
...
...
18: FortifySec v2.2 (External)
19: FortifySec v2.2 (External)

Which pod cache do you want to remove?

完全なクリーンアップ(ポッドリセット)

rm -rf ~/Library/Caches/CocoaPods
rm -rf Pods
rm -rf ~/Library/Developer/Xcode/DerivedData/*
pod deintegrate
pod setup
pod install

pod cache list クリーンアップ前

pod cache list

FortifySec:
- Version: 2.2.1
Type:    External
Spec:    /Users/j.d/Library/Caches/CocoaPods/Pods/Specs/External/FortifySec/ui99sd....podspec.json
Pod:     /Users/j.d/Library/Caches/CocoaPods/Pods/External/FortifySec/yi23sd...-sdjc3
- Version: 2.2.1
Type:    External
Spec:    /Users/j.d/Library/Caches/CocoaPods/Pods/Specs/External/FortifySec/dsfs-df23
Pod:     /Users/j.d/Library/Caches/CocoaPods/Pods/External/FortifySec/dfs0d-2dfs
- Version: 2.2
Type:    External
Spec:    /Users/j.d/Library/Caches/CocoaPods/Pods/Specs/External/FortifySec/u78hyt....podspec.json
Pod:     /Users/j.d/Library/Caches/CocoaPods/Pods/External/FortifySec/e000sd
- Version: 2.2.2
Type:    External
Spec:    /Users/j.d/Library/Caches/CocoaPods/Pods/Specs/External/FortifySec/s2d-df.podspec.json
Pod:     /Users/j.d/Library/Caches/CocoaPods/Pods/External/FortifySec/ds34sd....
- Version: 2.2.1
Type:    External
Spec:    /Users/j.d/Library/Caches/CocoaPods/Pods/Specs/External/FortifySec/sdfsdfdsf....podspec.json
Pod:     /Users/j.d/Library/Caches/CocoaPods/Pods/External/FortifySec/edfs5d7...
AFNetworking:
- Version: 2.5.3
Type:    Release
Spec:    /Users/j.d/Library/Caches/CocoaPods/Pods/Specs/Release/AFNetworking/2.6.podspec.json
Pod:     /Users/j.d/Library/Caches/CocoaPods/Pods/Release/AFNetworking/2.6.3-4e7e2

の複数のポッドキャッシュに注目してください。 - Version: 2.2.1 . ポッドキャッシュによって使用される不要なディスクスペースを取り除くために、そうするのは良いアイデアです。