Edited at

carthage updateでgitのエラーが発生して処理が中断してしまうときの対応方法

More than 1 year has passed since last update.


状況

Carthageを使ってライブラリを導入しようとするも、毎回途中で失敗する


実行コマンド

carthage update --platform iOS


エラー文

A shell task (/usr/bin/env git checkout --quiet 2e38ee3e7a3e1dd01be31edb94368c2f4a840915 (launched in /Users/Macユーザ名/プロジェクトディレクトリ/Carthage/Checkouts/ライブラリ名/Carthage/Checkouts/ほげほげ)) failed with exit code 128:

fatal: reference is not a tree: 2e38ee3e7a3e1dd01be31edb94368c2f4a840915


原因


修正手順


  • git管理している場合


    • Cartfile,Cartfile.resolvedに変更がある場合、念のため元に戻す



git checkout (YOUR_PROJECT)/Cartfile

git checkout (YOUR_PROJECT)/Cartfile.resolved


  • 途中までダウンロードが成功したライブラリをすべて削除する (念のため

rm -rf (YOUR_PROJECT)/Carthage/


  • キャッシュを削除する

rm -rf ~/Library/Caches/org.carthage.CarthageKit


  • もう一度、carthage updateをする

carthage update --platform iOS