百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

envy

> 编程语言
开源

使用 Rust 将 env 变量解序列化为类型安全的结构体

978 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

使用 Rust 将 env 变量解序列化为类型安全的结构体

妒忌

将环境变量解序列化为类型安全的结构体

安装

运行 cargo add envy 或将以下内容添加到您的 Cargo.toml 文件中。

toml
envy = "0.4"

使用方式

典型的 envy 使用方式如下。假设您的 Rust 程序类似于以下内容 ...

这些示例使用 Serde 的 derive 特性

rust
use serde::Deserialize;

#[derive(Deserialize, Debug)]
struct Config {
  foo: u16,
  bar: bool,
  baz: String,
  boom: Option
}

fn main() {
    match envy::from_env::() {
       Ok(config) => println!("{:#?}", config),
       Err(error) => panic!("{:#?}", error)
    }
}

… 导出一些环境变量

bash
$ FOO=8080 BAR=true BAZ=hello yourapp

您应该能够访问从 env 变量中反序列化的完全类型安全的 config 结构体。

Envy 假定存在一个 env 变量,其名称与每个结构体字段完全相同。例如,一个结构体字段 foo_bar 将映射到一个名为 FOO_BAR 的 env 变量。具有 Option 类型字段的结构体在相关的 env 变量不存在时也会成功地反序列化。Envy 还支持从逗号分隔的 env 变量值中反序列化 Vec。由于 envy 是基于 serde 构建的,您可以利用 serde 的所有 属性。例如,假设您的应用程序需要一个字段,但如果未提供则希望有一个合理的默认值。

以下代码会生成一个配置了 10 倍放大比例的应用程序

[dependencies] 32

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust12-factorconfigurationenvenvy

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言