我需要持久化信息,比如用户的配置和输入。在Linux和Windows上,最好的保存位置是哪里?
这是为一个rust-cargo程序准备的,它将被安装到~/.cargo/bin
中使用。我尝试将我的文件保存在~/.cargo
中,但我不知道是否合适,因为我对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);
}
请注意,有几个库可以为您完成此任务,并负责支持备用操作系统。
我不会链接它们,因为它们很多并且经常更改,但如果您搜索“rust配置目录”,您最喜欢的搜索引擎将指向最受欢迎的库。
$XDG_CONFIG_HOME
环境变量即可。这些库大多用于回退、Windows兼容性等方面。 - Denys Séguret