dotenvy #
dotenv crate 不再维护,建议使用 dotenvy crate。
dotenvy 从 .env 文件加载环境变量。
.env 文件举例:
# a comment, will be ignored
REDIS_ADDRESS=localhost:6379
# 可选的添加 export 前缀,这样该文件也可以被 shell 使用。
export MEANING_OF_LIFE=42
dotenv::dotenv()
从当前目录加载 .env
文件中的环境变量:
- 如果环境变量中已经有同名变量,则不覆盖原始值。
- 如果文件中有多个同名变量,以第一个为准;
如果要以 .env
中变量为准且重复时以最后的一个为准,则可以使用 dotenvy::dotenv_overrite()
函数。
use dotenv::dotenv;
use std::env;
fn main() {
// dotenv::dotenv() 从当前目录加载 .env 文件中的环境变量。
// 如果环境变量中已经有同名变量,则不覆盖原始值。
dotenv().ok();
for (key, value) in env::vars() {
println!("{}: {}", key, value);
}
}
use std::io;
dotenvy::from_filename("custom.env")?;
let result: Vec<(String, String)> = dotenvy::vars().collect();
let value = dotenvy::var("HOME")?;
println!("{}", value); // prints `/home/foo`