1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年1月1日

#56 in #dotenv

Download history 76/week @ 2024-03-12 103/week @ 2024-03-19 101/week @ 2024-03-26 112/week @ 2024-04-02 56/week @ 2024-04-09 74/week @ 2024-04-16 84/week @ 2024-04-23 89/week @ 2024-04-30 89/week @ 2024-05-07 83/week @ 2024-05-14 84/week @ 2024-05-21 76/week @ 2024-05-28 71/week @ 2024-06-04 57/week @ 2024-06-11 69/week @ 2024-06-18 58/week @ 2024-06-25

262 每月下载

MIT 许可证

4KB

rust-dotenv 构建状态

注意! 这是一个v0.*版本!请预期周围会有bug和问题。提交pull请求和问题被高度鼓励!

引用bkeepers/dotenv

配置存储在环境中十二要素应用的一个原则。任何可能在部署环境之间发生变化的元素(如数据库的资源句柄或外部服务的凭证)都应该从代码中提取出来,存储为环境变量。

这个库旨在用于开发或测试环境,在这些环境中设置环境变量不切实际。如果可用,它将从当前目录或其父目录中的.env文件中加载环境变量,并将其与操作系统提供的实际环境变量合并。

用法

最简单、最常用的用法是在应用程序启动时调用dotenv::dotenv,这将从当前目录或其父目录中名为.env的文件中加载环境变量;之后,您可以像使用std::os提供的环境相关方法一样调用所需的方法。

如果您需要更细粒度地控制文件名或其位置,您可以使用crate提供的from_filenamefrom_path方法。

dotenv_codegen提供了dotenv!宏,其行为与env!相同,但在编译时首先尝试加载一个名为.env的文件。

示例

一个 .env 文件看起来像这样

# a comment, will be ignored
REDIS_ADDRESS=localhost:6379
MEANING_OF_LIFE=42

你可以选择性地在每个行前加上单词 export,这将方便你在 shell 中导入整个文件。

使用 Dotenv 的示例项目可能如下所示

extern crate dotenv;

use dotenv::dotenv;
use std::env;

fn main() {
    dotenv().ok();

    for (key, value) in env::vars() {
        println!("{}: {}", key, value);
    }
}

使用 dotenv!

dotenv_codegen 添加到你的依赖中,并在你的 crate 的顶部添加以下内容

#[macro_use]
extern crate dotenv_codegen;

然后,在你的 crate 中

fn main() {
  println!("{}", dotenv!("MEANING_OF_LIFE"));
}

依赖

~5.5MB
~117K SLoC