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 正确守护化是愿望列表中的内容。
贡献
- 分支
- 代码
- 测试
- 拉取请求 :-)
依赖关系
~4MB
~84K SLoC