30 个版本
0.12.3 | 2024年3月17日 |
---|---|
0.12.1 | 2024年1月28日 |
0.12.0 | 2023年8月13日 |
0.11.1 | 2023年6月2日 |
0.1.1 | 2019年3月17日 |
#68 在 命令行工具
135KB
3.5K SLoC
CARGO-TRIM
项目状态 & 信息
许可证 | Crates 版本 |
---|---|
用于清理 $CARGO_HOME/registry & $CARGO_HOME/git 文件夹的二进制应用程序,支持清理孤立和旧版本包。默认的 $CARGO_HOME 设置为 $HOME/.cargo
安装
安装 cargo-trim:您可以从 crates.io 注册表中安装
cargo install cargo-trim
或者
对于最新的开发版本
cargo install --git https://github.com/iamsauravsharma/cargo-trim
设置
最初您需要为一些命令设置 cargo-trim,例如孤立清理以正常工作。要为所有与 Rust 语言相关的项目设置 cargo-trim 以正常工作,请转到所有项目所在的目录,并运行 cargo trim init
。您甚至可以多次运行此命令以添加多个目录。或者运行命令 cargo trim set -d <directory-path>
。目录内的所有项目都将用于列出孤立包。因此,如果其他目录中有项目,则如果它们未被添加目录中的其他包使用,则它们的依赖项将被分类为孤立包。
命令输出
所有 cargo-trim 命令都可以使用 cargo trim <command>
运行。运行 cargo trim --help
将生成以下输出,列出 cargo-trim 的所有可用命令
Binary application to cleanup $CARGO_HOME cache
Usage: cargo-trim [OPTIONS] [COMMAND]
Commands:
init Initialize current working directory as cargo trim directory
clear Clear current working directory from cargo cache config
config Query about config file data used by CLI
set Set config file values
unset Unset values from config file
list List crates
git Perform operation only to git related cache file
registry Perform operation only to registry related cache file
help Print this message or the help of the given subcommand(s)
Options:
-a, --all Clean up all registry & git crates
--clear-empty-index Clear all empty index directory
-d, --directory <DIRECTORY> Extra list of directory of Rust projects for current command [env: TRIM_DIRECTORY=]
-n, --dry-run Run command in dry run mode to see what would be done
-g, --gc <GIT_COMPRESS> Git compress to reduce size of .cargo (git command required) [possible values: aggressive-checkout, aggressive-db, aggressive-index, checkout, db, index]
-i, --ignore <IGNORE> Extra list of ignore file name which should be ignored for current command [env: TRIM_IGNORE=]
-l, --light Light cleanup without removing files required for future compilation without internet
--no-scan-hidden-folder Do not scan hidden folder for current command. Takes precedence over scan-hidden-folder [env: TRIM_NOT_SCAN_HIDDEN_FOLDER=]
--no-scan-target-folder Do not scan target folder for current command. Takes precedence over scan-target-folder [env: TRIM_NOT_SCAN_TARGET_FOLDER=]
-o, --old Clean old cache crates
-z, --old-orphan Clean crates which are both old and orphan
-x, --orphan Clean orphan cache crates i.e all crates which are not present in lock file generated till now
-q, --query Return size of different .cargo/cache folders
--scan-hidden-folder Scan hidden folder for current command [env: TRIM_SCAN_HIDDEN_FOLDER=]
--scan-target-folder Scan target folder for current command [env: TRIM_SCAN_TARGET_FOLDER=]
-t, --top <TOP> Show certain number of top crates which have highest size
-u, --update Update Cargo.lock file present inside config directory folder path
-w, --wipe <WIPE> Wipe folder [possible values: git, checkouts, db, registry, cache, index, index-cache, src]
-h, --help Print help
-V, --version Print version
配置
货物修剪程序将其配置文件存储在操作系统的配置目录中,并将配置文件命名为 cargo_trim_config.toml
。在文件中,货物修剪程序存储了扫描项目和列出crate的不同信息。要列出货物修剪程序存储配置文件的位置,可以使用以下命令:cargo trim config --location
下面列出了配置及其默认值以及相应的环境变量,可以在不编辑配置文件的情况下设置相同的值。
1. 目录
默认值:[]
环境变量:TRIM_DIRECTORY
要扫描的Rust项目的目录列表
2. 忽略文件名
默认值:[]
环境变量:TRIM_IGNORE
在扫描目录时应该忽略的文件/目录名。这可以用来排除某些文件夹,例如npm的node_modules文件夹或python的venv文件夹,如果配置中包含此类文件夹,将有助于显著提高性能。
3. 扫描隐藏文件夹
默认值:false
环境变量:TRIM_SCAN_HIDDEN_FOLDER
是否扫描隐藏文件夹(即以点表示法开头的文件夹)
4. 扫描目标文件夹
默认值:false
环境变量:TRIM_SCAN_TARGET_FOLDER
是否扫描目标文件夹。目前,它搜索环境变量 CARGO_BUILD_TARGET_DIR
或 CARGO_TARGET_DIR
或将默认值作为目标以确定目标文件夹名称
依赖
~3–4.5MB
~110K SLoC