7个版本

0.15.7 2023年3月22日
0.15.6 2022年10月17日
0.15.5 2022年9月19日
0.15.3 2022年8月30日
0.15.1 2022年2月28日

#3 in 配置

Download history 304215/week @ 2024-04-22 293679/week @ 2024-04-29 296617/week @ 2024-05-06 320658/week @ 2024-05-13 312883/week @ 2024-05-20 299730/week @ 2024-05-27 334570/week @ 2024-06-03 347129/week @ 2024-06-10 317444/week @ 2024-06-17 327580/week @ 2024-06-24 312039/week @ 2024-07-01 348447/week @ 2024-07-08 324840/week @ 2024-07-15 356901/week @ 2024-07-22 351512/week @ 2024-07-29 360090/week @ 2024-08-05

1,407,760 每月下载量
用于1,330 个crate中(直接使用424个)

MIT 许可证

49KB
1K SLoC

dotenvy

Crates.io msrv 1.56.1 ci docs

dotenv crate的良好分支。

此crate是安全建议RUSTSEC-2021-0141中dotenv的推荐替代方案。

此库从.env文件中加载环境变量。这对于开发环境来说很方便。

组件

  1. dotenvy crate - dotenv crate的良好分支。
  2. dotenvy_macro crate - 编译时dotenv检查的宏。这是dotenv_codegen的分支。
  3. dotenvy CLI工具,用于使用.env文件中的环境变量运行命令(目前仅限Unix)

用法

运行时加载

use std::env;
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    // Load environment variables from .env file.
    // Fails if .env file not found, not readable or invalid.
    dotenvy::dotenv()?;

    for (key, value) in env::vars() {
        println!("{key}: {value}");
    }

    Ok(())
}

编译时加载

可以使用由dotenvy_macro crate提供的dotenv!宏。

警告:存在与rust-analyzer (rust-analyzer #9606)相关的未解决dotenv!宏问题

最低支持的 Rust 版本

目前: 1.56.1

我们旨在支持最新的 8 个 rustc 版本 - 大约 1 年。增加 MSRV 并不是 semver-breaking 的变更。

为什么这个分支存在?

原始的 dotenv crate 自 2020 年 6 月 26 日起就没有更新过。尝试联系作者和现任维护者都没有成功 (dotenv-rs/dotenv #74)。

这个分支旨在成为 Rust 中 dotenv 实现的开发家园。

与原始版本相比有哪些不同?

此仓库修复了

它还增加了

有关变更的完整列表,请参阅 变更日志

图例

传说中,失去维护者将回归,将 dotenvy 的更改合并到 dotenv 中,如此之力,以至于所有的 Cargo.toml 将失去一个字符。只有在那时,Rust dotenv crateverse 才能真正和谐统一。

在此之前,此仓库忠实地传递 dotenv 的火炬。它正在积极维护。欢迎贡献和 PR!

依赖项

~235KB