阅读视图

发现新文章,点击刷新页面。

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖:

std::env::var(name).ok()

想在前端通过调用来获取,可以写一个command函数:

#[tauri::command]
pub fn get_env_var(name: String) -> Result<String, String> {
    println!("get_env_var: {}", name);
    std::env::var(name).map_err(|e| e.to_string())
}

注意如果拿不到可以获取所有的环境变量的值来看一下:

#[tauri::command]
pub fn get_env_var(name: String) -> Result<String, String> {
    println!("get_env_var: {}", name);
    println!("All environment variables:");
    for (key, value) in env::vars() {
        println!("{}: {}", key, value);
    }
    std::env::var(name).map_err(|e| e.to_string())
}

如果当你设置完,还是拿不到的话,建议重启电脑或者重新你的编辑器,因为:

当前运行的程序(包括你当前的命令行窗口或 Tauri 应用)不会自动获得这些新变量,因为它们的环境是进程启动时就固定下来的。

环境变量在操作系统中是每个进程独立拷贝的。

❌