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 在 配置
8,122 每月下载量
用于 razel
37KB
919 行
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