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 配置
1,407,760 每月下载量
用于1,330 个crate中(直接使用424个)
49KB
1K SLoC
dotenvy
dotenv crate的良好分支。
此crate是安全建议RUSTSEC-2021-0141中dotenv的推荐替代方案。
此库从.env文件中加载环境变量。这对于开发环境来说很方便。
组件
dotenvy
crate - dotenv crate的良好分支。dotenvy_macro
crate - 编译时dotenv检查的宏。这是dotenv_codegen的分支。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 实现的开发家园。
与原始版本相比有哪些不同?
此仓库修复了
- 对
dotenv!
的更有帮助的错误 (dotenv-rs/dotenv #57)
它还增加了
- 环境变量值的多行支持
io::Read
通过from_read
和from_read_iter
支持- 通过
dotenv_override
,from_filename_override
,from_path_override
和from_read_override
支持 - 改进的文档
有关变更的完整列表,请参阅 变更日志。
图例
传说中,失去维护者将回归,将 dotenvy
的更改合并到 dotenv
中,如此之力,以至于所有的 Cargo.toml
将失去一个字符。只有在那时,Rust dotenv crateverse 才能真正和谐统一。
在此之前,此仓库忠实地传递 dotenv 的火炬。它正在积极维护。欢迎贡献和 PR!
依赖项
~235KB