我应该在 Rust 中的什么地方保存我的配置文件
Where should I save my config files in Rust
我需要保留信息,例如用户对我的程序的配置及其输入。在 Linux 和 Windows 上保存此文件的最佳位置是什么?
这是一个 rust-cargo 程序,它将被安装到 ~/.cargo/bin
以供使用。我试图将我的文件保存到 ~/.cargo
但我不知道这是否合适,因为我是 Rust.
的新手
用 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);
}
请注意,有几个库会为您完成这项工作,并负责支持备用操作系统。
我不会 link 因为它们很多而且它们经常变化,但是如果您搜索 "rust configuration directory",您最喜欢的搜索引擎会将您引导到最受欢迎的搜索引擎。
我需要保留信息,例如用户对我的程序的配置及其输入。在 Linux 和 Windows 上保存此文件的最佳位置是什么?
这是一个 rust-cargo 程序,它将被安装到 ~/.cargo/bin
以供使用。我试图将我的文件保存到 ~/.cargo
但我不知道这是否合适,因为我是 Rust.
用 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);
}
请注意,有几个库会为您完成这项工作,并负责支持备用操作系统。
我不会 link 因为它们很多而且它们经常变化,但是如果您搜索 "rust configuration directory",您最喜欢的搜索引擎会将您引导到最受欢迎的搜索引擎。