1. sea_mountain

    Posted

    sea_mountain
Changes in title
+Mac のストレージ容量がいっぱいになった時にすべきことまとめ
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,67 @@
+Mac のストレージ容量がいっぱいになると、警告ダイアログが出たり、ブラウザのページが正しく読み込まれなくなったりする。
+そんな時に、まず何を確認して、どうしたらいいのかをまとめておく。
+
+# 現在のストレージ状況を確認する
+メニューバー一番左のリンゴマーク -> 一番上の About This Mac -> Storage タブを確認する
+
+以下の様な画面で、どんなデータで圧迫されているのか分かるので、それを参考にする。
+
+![Screen Shot 2015-06-12 at 2.26.00 AM.png](https://qiita-image-store.s3.amazonaws.com/0/1635/1b756740-65cf-2b0c-ed97-e1118e2df3ef.png)
+
+## ディレクトリ毎のサイズを計算する
+ディレクトリ事のデータサイズが分かれば、どのディレクトリの中を整理すれば良いのか分かる。
+
+du コマンドでディレクトリ毎のサイズを取得できる。
+
+- -h オプション
+ - バイト数表示を M や G に置き換えてくれる。読みやすい表示にしてくれる。
+- -d オプション
+ - サイズを取得するディレクトリの深さを設定できる
+
+例えば以下では、ホーム以下の1階層までのファイルサイズを取得している。
+
+```shell-session
+$ du -h -d 1 ~
+1.1G /Users/sea_mountain/.android
+3.9M /Users/sea_mountain/.cache
+175M /Users/sea_mountain/.cocoapods
+```
+
+# 劇的にストレージを空ける方法
+ストレージを空けるためにすべきことは以下である。もちろん、ゴミ箱を空にしている前提である。
+
+## Mac のキャッシュファイルを削除する
+Mac の起動ボタンをおした後に、リンゴマークが出るまで Shift キーを押しっぱなしにすると、セーフモードで起動できる。
+セーフモードで起動できた時は、リンゴマークが出たあとに、ローディングバーが下に表示され、その後黒い画面でログインが促される。(右上に赤字で Safe Boot と書かれている)
+これでログインまですれば、キャッシュが削除できたことになるので、再起動して通常のモードでログインする。
+
+私の場合は、この操作で数 GB ストレージが空いた。
+
+## Xcode のビルドキャッシュを削除する
+Xcode は DerivedData というディレクトリに、ビルド時に作成されたキャッシュや中間生成物などを保持している。これは、プロジェクト毎に存在している。
+
+このディレクトリは、例えば Xcode 6.4 では以下に存在している。このディレクトリだけで数十 GB があったりするため、必要の無いプロジェクトや、再ビルドして問題ないプロジェクトのディレクトリは削除する。
+
+```
+/Users/user_name/Library/Developer/Xcode/DerivedData
+```
+
+これをすると、環境に依っては数十 GB の空きができる。
+
+## 余談
+Unity を使って iOS アプリのビルドをしている場合、特に大きいデータが作成される事があるので、この方法は有効である。
+
+# Android ライブラリの削除
+Android Developer Tools で、Android のコードや、その他 API ごとに色々なデータをダウンロードしていると、それで数十 GB 使っている可能性がある。
+不必要な API バージョンを消すと、一気に空きができる場合がある。
+
+削除するときは、Android SDK Manager を開き、不要そうな API やツールを選択し、"Delete xx packages" で削除できる。
+
+# iOS シミュレータの不要データの削除
+iOS シミュレータに保存されているアプリデータや、不要な情報も削除できる。
+
+以下メニューで、シミュレータ内のデータ削除が行われる。
+iOS Simulator -> Reset Content and Settings
+
+
+これでもストレージが足りない場合は、インストール済み iOS シミュレータを削除するという方法がある。また、du コマンドで、どのフォルダが悪いのか確認しておくのがよいだろう。