0.15.1 |
|
---|
#57 in #dotenv
3KB
dotenvy
A well-maintained fork of the dotenv crate.
This library loads environment variables from a .env file. This is convenient for dev environments.
Components
dotenvy
crate - A well-maintained fork of thedotenv
crate.dotenvy_codegen
crate - A macro for compile time dotenv inspection.dotenvy_codgen_impl
crate - Internal implementation for dotenvy_codegen.dotenvy
CLI tool for running a command using the environment from a .env file (currently Unix only)
Usage
Loading at runtime
use dotenvy::dotenv;
use std::env;
fn main() {
dotenv().ok();
for (key, value) in env::vars() {
println!("{key}: {value}");
}
}
Loading at compile time
The dotenv!
macro provided by dotenvy_codegen
crate can be used.
Warning: there is an outstanding issue with rust-analyzer (rust-analyzer #9606) related to the dotenv!
macro
Why does this fork exist?
The original dotenv crate has not been updated since June 26, 2020. Attempts to reach the authors and present maintainer were not successful (dotenv-rs/dotenv #74).
This fork is intended to serve as the development home for the dotenv implementation in Rust.
What are the differences from the original?
This repo fixes:
- home directory works correctly (no longer using the deprecated
std::env::home_dir
) - more helpful errors for
dotenv!
(dotenv-rs/dotenv #57)
For a full list of changes, read the changelog.
Are you a usurper of the dotenv legacy?
Legend has it that the Lost Maintainer will return, merging changes from dotenvy
into dotenv
with such thrust that all Cargo.toml
s will lose one keystroke. Only then shall the Rust dotenv crateverse be united in true harmony.
Until then, this repo dutifully carries on the dotenv torch. It is actively maintained. Contributions and PRs are very welcome!
Dependencies
~1.5MB
~36K SLoC