コンテンツにスキップ

Go/goコマンド/clean

出典: フリー教科書『ウィキブックス(Wikibooks)』

go cleanコマンドは、パッケージのソースディレクトリからコンパイル時に生成されたオブジェクトファイルを削除するためのものです。主に、go buildや他のツールによって残された一時ファイルをクリーンアップする目的で使用されます。

削除対象となるファイル

[編集]

go cleanは、以下の種類のファイルを削除します。

Makefilesによって残された古いオブジェクトファイル: _obj/_test/_testmain.gotest.outbuild.out、および .[568ao]といったファイルやディレクトリ。

  • go buildによって生成された実行可能ファイル: DIR(.exe)MAINFILE(.exe)
  • go test -cによって生成されたテスト実行ファイル: DIR.test(.exe)

SWIGによって生成された共有ライブラリ: .so

主なオプション

[編集]

go cleanには、削除の範囲を制御するためのいくつかの重要なオプションがあります。

  • -i: go installコマンドが作成するインストール済みアーカイブやバイナリも削除します。
  • -r: インポートパスで指定されたパッケージだけでなく、そのすべての依存関係に対しても再帰的にクリーンアップを実行します。
  • -cache: ビルドキャッシュ全体を削除します。
  • -testcache: ビルドキャッシュ内のすべてのテスト結果を期限切れにします。
  • -modcache: モジュールダウンロードキャッシュ全体を削除します。
  • -fuzzcache: ファズテストのためにGoビルドキャッシュに保存されたファイルを削除します。
  • -n: 実行する削除コマンドを出力しますが、実際には実行しません。ドライランに便利です。
  • -x: 実行する削除コマンドを出力しながら実行します。