跨平台环境变量管理工具 - 让环境配置更简单
跨平台环境变量管理工具 - 让环境配置更简单
在开发工作中,我们经常需要在不同的环境之间切换配置 - 比如开发环境、测试环境、生产环境,或者切换不同的 API 服务商。每次都要手动修改环境变量?太麻烦了!
今天介绍一款我开发的环境变量管理工具,它可以帮助你轻松管理多个环境配置,支持一键切换,而且完全跨平台。
✨ 为什么需要这个工具?
典型场景
想象一下这些场景:
- 多 API 服务商切换
- 开发时用 OpenAI GPT-4
- 测试时用阿里云 Qwen
- 生产环境用 Anthropic Claude
- 每次都要改代码、改配置?
- 多环境配置
- 本地开发环境
- 测试环境
- 生产环境
- 如何快速切换?
- 团队协作
- 每个人有自己的 API 密钥
- 如何安全共享配置模板?
- 不同 Shell/平台
- Windows 的 CMD/PowerShell
- Linux 的 Bash/Zsh
- macOS 的 Zsh
- 每个平台写不同脚本?
这款工具就是为了解决这些问题而生的!
🎯 核心功能一览
| 功能 | 说明 |
|---|---|
| 🖥️ 全平台支持 | Windows、Linux、macOS 一把梭 |
| 🔧 多配置管理 | 定义任意数量的环境配置 |
| ⚡ 一键切换 | 一个命令完成切换 |
| 🔒 配置加密 | AES-256 保护敏感信息 |
| 📝 .env 支持 | 兼容主流 .env 格式 |
| 💾 永久设置 | 写入系统环境变量 |
| 📦 可执行打包 | 无需安装 Python |
🚀 快速开始
下载使用
项目支持两种使用方式:
方式一:使用可执行文件(推荐)
无需安装 Python,直接运行:
# Linux/macOS
chmod +x env-manager
./env-manager --list
# Windows
env-manager.exe --list
方式二:使用 Python 脚本
# 需要安装 Python 3.8+
python env-manager.py --list
初始化配置
首次使用需要创建配置文件:
# 方式一:复制模板
cp config.json.example config.json
# 方式二:自动初始化
env-manager --init
编辑 config.json,填入你的实际配置:
{
"openai": {
"OPENAI_API_KEY": "sk-your-key-here",
"OPENAI_BASE_URL": "https://api.openai.com/v1",
"MODEL": "gpt-4"
},
"anthropic": {
"ANTHROPIC_API_KEY": "sk-ant-your-key-here",
"ANTHROPIC_BASE_URL": "https://api.anthropic.com",
"MODEL": "claude-3-opus"
}
}
📖 常用命令
查看和管理配置
# 列出所有配置
env-manager --list
# 查看某个配置详情
env-manager openai --print
# 验证配置是否完整
env-manager openai --validate
# 查看应用和配置文件信息
env-manager --info
加载配置到当前会话
# Linux/macOS - 导出环境变量
source <(env-manager openai --export)
# Windows CMD
env-manager.bat openai
# Windows PowerShell
.\env-manager.ps1 openai
永久设置环境变量
设置后重启终端依然生效:
# 用户级别
env-manager openai --permanent
# 系统级别(需要管理员/sudo)
sudo env-manager openai --permanent --scope system
配置加密
保护你的敏感信息:
# 加密配置文件
env-manager --encrypt
# 解密配置文件
env-manager --decrypt
# 编辑加密配置
env-manager --edit-encrypted
.env 文件支持
# 导出为 .env 文件
env-manager openai --to-dotenv
# 从 .env 文件导入
env-manager --from-dotenv .env new-config
🔐 安全最佳实践
1. 不要提交敏感配置
使用 .gitignore 忽略配置文件:
# 配置文件
config.json
local_config.json
config.enc
# 敏感信息
*.key
*.secret
2. 使用加密存储
# 加密配置后再提交
env-manager --encrypt
git add config.enc
git commit -m "Update encrypted config"
3. 本地配置覆盖
创建 local_config.json 存储本地专用配置,不会被提交:
{
"my-local-dev": {
"API_KEY": "local-dev-only-key",
"DEBUG": "true",
"HOST": "localhost:8080"
}
}
💡 实战技巧
技巧一:创建快捷命令
在 ~/.bashrc 或 ~/.zshrc 中添加:
# Linux/macOS
alias env-use='source <(env-manager $1 --export)'
# 使用方式
env-use openai
env-use anthropic
技巧二:多环境管理
{
"dev": {
"API_BASE": "https://dev.api.example.com",
"DEBUG": "true"
},
"staging": {
"API_BASE": "https://staging.api.example.com",
"DEBUG": "false"
},
"prod": {
"API_BASE": "https://api.example.com",
"DEBUG": "false"
}
}
技巧三:团队协作流程
- 提交配置模板
config.json.example - 团队成员复制并修改为
config.json .gitignore忽略实际配置文件- 敏感配置使用
--encrypt加密
技巧四:Docker 集成
FROM python:3.9-slim
COPY env-manager /usr/local/bin/
COPY config.enc /app/
# 解密配置并运行
CMD sh -c "echo $PASSWORD | env-manager --decrypt && \
env-manager prod --set && \
python app.py"
📦 打包和分发
想分发给团队使用?打包成可执行文件:
# 1. 安装打包依赖
pip install -r requirements.txt
# 2. 执行打包
python build.py
# 3. 分发 dist/ 目录
打包后用户无需安装 Python,直接运行即可!
🛠️ 故障排除
问题:找不到配置文件
# 查看配置文件位置
env-manager --info
# 或重新初始化
env-manager --init
问题:权限不足
# Linux/macOS
chmod +x env-manager
# Windows 永久设置需要管理员权限
问题:macOS 提示应用已损坏
# 移除隔离属性
xattr -d com.apple.quarantine env-manager
📚 总结
这个环境变量管理工具解决了开发中常见的配置管理痛点:
✅ 简单 - 一个命令完成切换 ✅ 安全 - 支持加密存储敏感信息 ✅ 跨平台 - Windows/Linux/macOS 统一使用 ✅ 灵活 - 支持多种配置格式 ✅ 便携 - 可打包为独立可执行文件
希望这个工具能提高你的开发效率!如有问题或建议,欢迎提 Issue。
下载地址: GitHub 仓库链接
版本:3.0.0 许可证:MIT
如果你觉得这个工具有用,欢迎 Star ⭐