为什么用 Rust 写 CLI
┌─────────────────────────────────────────────────────┐
│ Rust CLI 的优势 │
├─────────────────────────────────────────────────────┤
│ │
│ 🚀 性能优异 │
│ • 编译为本地代码,执行速度快 │
│ • 无 GC 暂停,响应迅速 │
│ │
│ 🛡️ 内存安全 │
│ • 无段错误、缓冲区溢出 │
│ • 编译时消除大部分 bug │
│ │
│ 📦 单二进制文件 │
│ • 无需运行时依赖 │
│ • 跨平台部署简单 │
│ │
│ 🌍 跨平台 │
│ • Windows, macOS, Linux 原生支持 │
│ • 一致的 API 和行为 │
│ │
│ 🔧 优秀的错误处理 │
│ • 明确的错误类型 │
│ • 友好的错误消息 │
│ │
└─────────────────────────────────────────────────────┘热门 Rust CLI 项目
ripgrep(rg) - 快速 grep 替代bat- cat 增强版fd- find 替代eza- ls 替代starship- 跨 shell 提示符
项目设置
创建项目
bash
# 创建新项目
cargo new my_cli
cd my_cli
# 项目结构
my_cli/
├── Cargo.toml
├── src/
│ └── main.rs
└── .git/基础依赖
toml
[package]
name = "my_cli"
version = "0.1.0"
edition = "2021"
[dependencies]
clap = { version = "4", features = ["derive"] }
anyhow = "1.0"
colored = "2"