#env #environment #dotenv #env-file #12-factor

app benv

为应用程序加载环境文件,无需依赖

4 个版本

使用旧的 Rust 2015

0.1.3 2016年2月1日
0.1.2 2015年11月26日
0.1.1 2015年11月9日
0.1.0 2015年11月6日

#46 in #dotenv

自定义许可证

10KB
225 行代码(不包括注释)

Benv

12factor 应用程序的一个原则是将配置存储在环境中。通常,对于生产环境,在部署期间会将环境添加为 .env 文件。许多语言的库都提供了从应用程序内部设置此功能的方法。

然而

  • 这引入了依赖关系
  • 可能会在应用程序的其他部分不需要加载时造成障碍
  • 不太符合 Unix 的风格

在壳中,我经常通过以下方式解决这个问题:`env $(cat /where/my/application/is/.env | sed '/^#/d' | xargs)`。但是,让我们公平一点,没有人会记得(也不愿意)输入这么多!

介绍 B(etter)env。`benv` 简单地将 `.env` 文件加载到环境中并启动应用程序。

安装

通过 Cargo

$ cargo install benv

从源代码

$ git clone https://github.com/timonv/benv
$ cd benv
$ cargo build --release
$ cp target/release/benv /somewhere/in/your/path

用法

$ benv <dotenv> <program>...

$ benv my/file echo $MYVARIABLE
$ benv .env bundle exec rails
$ benv .env cargo run
$ benv .env npm start
$ benv .env mix phoenix.server
$ benv .env my_binary

And so on!

有关更多选项,请参阅 `benv --help`。

注意事项

当前的 benv 必须保持运行(应该几乎没有开销)。使用 libc 正确守护化是愿望列表中的内容。

贡献

  1. 分支
  2. 代码
  3. 测试
  4. 拉取请求 :-)

依赖关系

~4MB
~84K SLoC