Skip to content

为什么用 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"