Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Rust 工具

文档整理说明

  • 本文档用于记录 Rust 生态中的常用工具, 包括 Cargo 扩展, 打包工具, 二进制分析工具, 以及日常命令行环境配置.
  • 旧版 Cargo 扩展工具记录已收敛到本文, 后续统一以当前页面为准.

常用 Cargo 扩展

cargo install cargo-generate cargo-binutils cargo-tree cargo-expand cargo-edit cargo-wix cargo-bundle

cargo-edit

用于升级, 增删依赖:

cargo install cargo-edit
cargo upgrade

cargo-machete

检查未使用的 crate:

cargo install cargo-machete
cargo machete

cargo-udeps

检查未使用的依赖:

cargo install cargo-udeps
cargo udeps

需要 nightly 环境, 结果并不是 100% 准确.

cargo-bloat

显示不同 crate 占用输出文件大小的情况:

cargo install cargo-bloat
cargo bloat --release --crates

cargo-autoinherit

自动将 workspace 中项目的依赖转到 workspace 共享配置:

cargo install cargo-autoinherit
cargo autoinherit

也可以根据日志检查是否依赖了多个不同版本的 crate.

打包

cargo-dist

打包工具:

cargo install cargo-dist

在需要打包的 crate 目录下执行:

dist init
dist build

参考项目: https://github.com/axodotdev/axolotlsay

oranda

用于给 cargo-dist 打包后的文件创建静态站点:

cargo install oranda --locked --profile=dist
oranda build

二进制与证书工具

upx

用于压缩可执行文件:

upx --best --lzma target/release/your_executable

下载地址: https://github.com/upx/upx/releases

feluda

检查是否存在限制性证书:

cargo install feluda
feluda

Nushell

# 设置默认编辑器
$env.config.buffer_editor = "code"

# 打开配置
config nu

# 在配置中添加别名
alias cc = claude --dangerously-skip-permission

# 在配置中添加自动完成
source "E:/git/rust/nu_scripts/custom-completions/git/git-completions.nu"
source "E:/git/rust/nu_scripts/custom-completions/cargo/cargo-completions.nu"
source "E:/git/rust/nu_scripts/custom-completions/npm/npm-completions.nu"