Diskzyv0.1
注意して削除

Macの ~/go/pkg/mod とは。削除しても安全か

結論

Goのモジュールキャッシュは削除でき、次にビルドしたときにGoがモジュールをもう一度ダウンロードします。ファイルは読み出し専用で、Finderやrmではエラーになるため、削除には go clean -modcache を使ってください。

場所

~/go/pkg/mod

これは何か

Goのプロジェクトで依存関係が必要になると、goコマンドはそのバージョンのモジュールをモジュールキャッシュにダウンロードします。デフォルトの場所は ~/go/pkg/mod です。Mac上のすべてのプロジェクトが、この1つのキャッシュを共有します。

大きくなるのは、各モジュールの各バージョンが別々に保存され、古いものが削除されないからです。大きな依存関係ツリーがいくつかあるだけで、すぐに積み重なります。

Goは、ビルドが誤って変更してしまわないよう、キャッシュされたファイルを意図的に読み出し専用にしています。フォルダを手動で削除しようとするとアクセス権のエラーになるのは、このためです。

どのくらい大きくなるか

Goでの開発を日常的に行っている場合、通常は数GBです。

手動で消去する方法

  1. ターミナルを開きます。
  2. 下記のコマンドを実行します。依存関係の全バージョンの展開済みソースを含め、モジュールのダウンロードキャッシュ全体が削除されます。
  3. GOMODCACHEやGOPATHを別の場所に設定している場合でも、このコマンドは正しいフォルダを消去します。場所は go env GOMODCACHE で確認できます。
ターミナルで
go clean -modcache

削除したあとはどうなるか

各プロジェクトでの次回の go build や go test では、依存関係をもう一度ダウンロードするため、時間がかかり、ネットワーク接続が必要になります。自分のコードとインストール済みのGoバイナリは削除されません。

Diskzyでの扱い

Diskzyは「Clean up」(クリーンアップ)タブにGoのモジュールキャッシュを表示しますが、次のビルドですべてをもう一度ダウンロードすることになるため、チェックは外したままにします。

関連ガイド

Macの空き領域がどこに消えたのかを確認

Diskzyはディスク全体をマップにし、システムデータの内訳を示し、安全なものを消去します。72時間は無料、その後は$9の買い切りでMac 2台まで使えます。

Diskzyを無料で試す
ほかの言語で読む:EnglishEspañolDeutschPortuguêsFrançaisTürkçe日本語