我应该在哪里将配置文件保存在Rust中

时间:2019-10-24 12:20:15

标签: linux windows rust rust-cargo

我需要保留信息,例如程序的用户配置及其输入。在Linux和Windows上保存此文件的最佳位置是哪里?

这是一个 rust-cargo 程序,它将被安装到~/.cargo/bin中以供使用。我试图将文件保存到~/.cargo中,但是我不知道这是否合适,因为我是 Rust 的新手。

1 个答案:

答案 0 :(得分:10)

用Rust编写的应用程序没有什么特别的。与运行时附带的其他解决方案相反,Rust依靠标准的环境和实践来构建普通的应用程序。系统的常规规则适用于配置位置。

在Linux上,您首先应查询XDG路径,然后在不可用时使用$HOME作为后备。

这是您的操作方式:

use std::env::var;

fn main() {
    let config_home = var("XDG_CONFIG_HOME")
        .or_else(|_| var("HOME").map(|home|format!("{}/.config", home)));
    println!("{:?}", config_home);
}

请注意,有几个库为您完成了这项工作,并注意支持备用操作系统。

我不会链接到它们,因为它们很多,而且它们经常更改,但是如果您搜索“ rust configuration directory”,您喜欢的搜索引擎会将您定向到最受欢迎的搜索引擎。