# cargo-gc-target A cargo sub-command to delete unused files in your cargo `target` directory. ## Installation ```shell cargo install cargo-gc-target ``` Your cargo version should be at least `1.51.0`. ## Usage In your project/workspace directory, simple run: ```shell cargo gc ``` Note: It's `gc`. Not `gc-target`. It can automatically follow custom `target-dir` specified in `.cargo/config` or environment variable `CARGO_TARGET_DIR`. # Limitations - It doesn't work well on shared `target` directory, since a simple tracing GC will erase all artifacts untracable from current workspace but may still referenced in some other workspaces. When resolved target directory is outside the workspace, an error will be emitted to protect user from accidentally erasing shared target directory. If you really know what you are doing, pass `-f` to force GC anyway. - Cargo `target` hierarchy and metadata calculation may change between versions. When using `cargo` other than `1.51.0`, it may incorrectly remove tracable artifacts. Use it with care! ## Supported directories to GC | Path | Content | GC supported? | | --- | --- | --- | | `target//deps` | Artifacts of dependencies | ✅ | | `target//build` | Build scripts and outputs | ✅ | | `target//.fingerprint` | Cargo fingerprints | ✅ | | `target//` | Final binary or libraries | ✅ | | `target//incremental` | Rustc incremental temps | | | `target//examples` | Example artifacts | | | `target/doc` | Documentations | | ## License MIT Licensed.