envi:35⭐的终端 .env 文件管理工具
envi 把 .env 文件的管理搬到了终端里。不用在编辑器里手动比对不同环境的配置差异,可以在一个 TUI 界面里完成查看、编辑、验证和跨项目同步。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | roniel-rhack/envi |
| Stars | 35 |
| 语言 | Rust |
| 特点 | TUI 界面、.env 管理、跨项目 profile |
| 最后更新 | 1 个月前 |
解决了什么问题
在多环境部署时,.env 文件的管理容易混乱:
- 开发、测试、生产环境的配置分散在不同文件里
- 新增变量时需要手动同步到所有环境
- 难以发现缺失或冗余的环境变量
envi 提供了一个集中式的终端界面来管理这些配置,支持按 profile 组织不同的环境,并能快速发现配置差异。
核心功能
Profile 管理
- 将不同环境的配置分组管理(如 dev、staging、production)
- 在同一界面切换和对比不同 profile
Diff 对比
- 可视化展示两个 profile 之间的配置差异
- 快速发现某个环境缺少哪些变量
扫描与验证
- 扫描项目中的 .env 文件
- 验证配置值的格式(如 URL、端口范围等)
安全编辑
- 在 TUI 中直接编辑变量值
- 避免误操作导致配置泄露
快速开始
# 安装
cargo install envi
# 进入管理界面
envi
# 扫描当前目录的 .env 文件
envi scan
# 对比两个 profile
envi diff dev production
对比类似工具
| 工具 | Stars | 特点 |
|---|---|---|
| dotenv-cli | 1.2k | 命令行读取 .env,无管理功能 |
| env-cmd | 800+ | 按环境加载不同 .env 文件 |
| envi | 35 | TUI 管理、diff、验证 |
适用场景
- 微服务架构下管理多个服务的配置
- 需要在多个环境间同步新变量的团队
- 喜欢终端工作流的开发者
注意事项
- 项目较新,部分功能仍在完善
- 建议先在非生产环境测试
- 敏感信息仍需配合密钥管理服务使用
总结
envi 填补了终端环境下 .env 文件管理的空白。虽然 Stars 不多,但对于需要频繁处理多环境配置的开发者来说,它的 diff 和 profile 功能确实能节省不少时间。
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/roniel-rhack/envi |
| 许可证 | MIT |
| 语言 | Rust |
| 维护者 | @roniel-rhack |