Mac App Storeでアプリのアップデートをしようとして、空き容量があるのに「空き容量が足らないため、製品をインストールできません」とダイアログが出てしまう時の対処

スポンサーリンク
Mac App Storeでアップデートを完了できませんでした。とダイアログが表示されるMac
MacのApp Storeで、Xcodeのアップデートを試行したところ「空き容量がないため、製品をインストールできません」と表示されて、アップデートを完了することができませんでした。
その時の対処について、記事にしたいと思います。

前提

  • macOS Catalina バージョン10.15.7
  • 空き容量は30.0 GB程度
  • アップデートしたいアプリ:
    • Mac App Store経由でインストールしたXcodeのバージョンを11.7から12.0.1にしたい

事象

Mac App Storeのメニュー「アップデート」にあるXcodeの「アップデート」ボタンを押下すると次のメッセージが表示され、アップデートできない。 「アップデートを完了できませんでした。
 空き容量が足りないため、製品をインストールできません。」
mac App Storeで、アップデートを完了できませんでした。とダイアログが表示される

私のケースでの原因

MacのTime Machineのローカルスナップショットが容量を逼迫させていたようで、ローカルスナップショットを削除することで、空き容量を確保し、アップデートを完了することができました。

Time Machineのローカルスナップショット

MacのファイルシステムがAPFSで実現している「Mobile Time Machine」という機能があります。とても早く、スナップショットが取れるようになる機能、といったところでしょうか。
Time Machine のバックアップディスクは常に使えるとは限らないため、一部のバックアップは Mac にも保管されていて、こうしたバックアップを「ローカルスナップショット」と呼ぶそうです。
この機能が有効な場合、環境設定のTime Machineにローカルスナップショットと明記があります。
環境設定>Time Machineでローカルスナップショットと記載があるか、確認する
APFSの場合、「ローカルスナップショット」と表記されている
このローカルスナップショットと空き容量の関係について、Appleのtime machineに関するサポート記事では次のようにあります。
スナップショットが消費している容量は、Mac では空き容量に算入されます。

要は、空き容量だと思っていたら、実はローカルスナップショットが容量を占めていた、ということが私のケースの原因だったようです。 なお、サポート記事によれば、次の手順でローカルスナップショットが削除できるようですが、私の場合、1時間程度待っても改善しなかったため、直接削除することにしました。
  1. メニューバーの Time Machine メニュー から Time Machine の環境設定を開きます。または、Apple メニュー  >「システム環境設定」の順に選択し、「Time Machine」をクリックします。
  2. 「バックアップを自動作成」の選択を解除するか、「切/入」スイッチをクリックします (Time Machine の環境設定に表示される設定項目によって異なります)。
  3. 数分経つと、ローカルスナップショットが削除されます。その後、Time Machine を再び有効にしてください。バックアップディスクは以前のまま記憶されています。

ローカルスナップショットを確認する

Macに保存されているローカルスナップショットを確認するには、ターミナルで次のコマンドを入力、実行します。
tmutil listlocalsnapshots /

私の場合、以下の通り2つのスナップショットが保存されていることがわかりました。
Snapshots for volume group containing disk /:

com.apple.TimeMachine.2020-09-29-151845.local

com.apple.TimeMachine.2020-09-29-162102.local


ローカルスナップショットを削除する

存在する全てのローカルスナップショットを一括で削除する場合は、ターミナルを起動して次のコマンドを入力して実行します。
for d in `tmutil listlocalsnapshots / | awk -F'.' '{print $4}'`; do sudo tmutil deletelocalsnapshots $d; done

Deleted local snapshot '2020-09-29-151845'

Deleted local snapshot '2020-09-29-162102'

ローカルスナップショットを指定して削除する場合は、次のコマンドのYYYY-MM-DD-HHMMSSで指定して、実行します。
tmutil deletelocalsnapshots YYYY-MM-DD-HHMMSS

ローカルスナップショットを全て削除した後、「このMacについて」のストレージを確認すると、20GB近く空き容量が増えていて、目的であるXcodeのアップデートも実行することができました。

参考

Time Machine のローカルスナップショットについて – Apple サポート
APFSのMacで「tmutil」コマンドを利用しローカルスナップショットを作成&Mobile Time Machineで復元する方法。 | AAPL Ch.
タイトルとURLをコピーしました