02-使用配置文件

为 CLI 应用读写配置文件

译文 · 基于 Command Line Applications in Rust

使用配置文件

原文链接: https://rust-cli.github.io/book/in-depth/config-files.html

处理配置可能会很烦人,尤其是当你要支持多种操作系统,而它们各自对短期与长期文件有不同存放位置时。

对此有多种解决方案,有些比另一些更底层。

最容易用的 crate 是 confy。它只要求你给出应用名称,并用一个(实现了 Serialize、Deserialize 的)struct 指定配置布局,剩下的它会搞定!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#[derive(Debug, Serialize, Deserialize)]
struct MyConfig {
    name: String,
    comfy: bool,
    foo: i64,
}

fn main() -> Result<(), io::Error> {
    let cfg: MyConfig = confy::load("my_app")?;
    println!("{:#?}", cfg);
    Ok(())
}

用起来极其简单,当然你也因此牺牲了可配置性。但如果简单配置就够了,这个 crate 可能适合你!

配置环境

最后修改 August 11, 2026: 更新 (70a5af133)