| 0.2.0 |
|
|---|
#26 in #unused
24KB
421 lines
cargo-gc-target
A cargo sub-command to delete unused files in your cargo target directory.
Installation
cargo install cargo-gc-target
Your cargo version should be at least 1.51.0.
Usage
In your project/workspace directory, simple run:
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
targetdirectory, 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
-fto force GC anyway. -
Cargo
targethierarchy and metadata calculation may change between versions. When usingcargoother than1.51.0, it may incorrectly remove tracable artifacts. Use it with care!
Supported directories to GC
| Path | Content | GC supported? |
|---|---|---|
target/<profile>/deps |
Artifacts of dependencies | ✅ |
target/<profile>/build |
Build scripts and outputs | ✅ |
target/<profile>/.fingerprint |
Cargo fingerprints | ✅ |
target/<profile>/<bin> |
Final binary or libraries | ✅ |
target/<profile>/incremental |
Rustc incremental temps | |
target/<profile>/examples |
Example artifacts | |
target/doc |
Documentations |
License
MIT Licensed.
Dependencies
~54MB
~1M SLoC