4 个版本

0.16.2 2023 年 11 月 16 日
0.16.1 2023 年 11 月 16 日
0.16.0 2023 年 11 月 11 日
0.15.0 2023 年 5 月 1 日

#383配置

Download history 146/week @ 2024-04-08 155/week @ 2024-04-15 200/week @ 2024-04-22 228/week @ 2024-04-29 201/week @ 2024-05-06 211/week @ 2024-05-13 356/week @ 2024-05-20 213/week @ 2024-05-27 240/week @ 2024-06-03 248/week @ 2024-06-10 241/week @ 2024-06-17 673/week @ 2024-06-24 1353/week @ 2024-07-01 1788/week @ 2024-07-08 2524/week @ 2024-07-15 2455/week @ 2024-07-22

8,122 每月下载量
用于 razel

MIT 许可证

37KB
919

Crates.io

dotenv-flow.rs

dotenv-rs 的分支,增加了对流行的 dotenv-flow 加载策略的支持。

dotenv-flow 策略工作如下

  • 如果设置了 DOTENV_ENV 环境变量,则加载 .env.{DOTENV_ENV}.local(例如 .env.staging.local)
  • 加载 .env.local
  • 如果设置了 DOTENV_ENV 环境变量,则加载 .env.{DOTENV_ENV}(例如 .env.staging)
  • 加载 .env

每个步骤都只加载尚未存在于环境中的变量,因此例如 .env.{DOTENV_ENV}.local 文件中的变量将具有最高优先级,其次是 .env.local 等。

在 0.16.0 中破坏

  • env.{DOTENV_ENV}.local 现在在 .env.local 之前加载

如何使用

安装

cargo add dotenv-flow

用法

要使用此软件包,请将以下行添加到主函数中,以从可用的 .env.* 文件加载环境变量

fn main() {
  dotenv_flow::dotenv_flow().ok();
}

测试

要测试此项目,请确保将 --test-threads=1 传递给 cargo test,例如

cargo test -- --test-threads=1

这是必要的,因为默认情况下,cargo test 在多个线程中运行测试,但环境变量是进程全局的,因此我们需要限制并发性以避免竞争条件。

依赖关系

~120KB