跨平台环境变量管理工具 - 让环境配置更简单

环境变量管理器

在开发工作中,我们经常需要在不同的环境之间切换配置 - 比如开发环境、测试环境、生产环境,或者切换不同的 API 服务商。每次都要手动修改环境变量?太麻烦了!

今天介绍一款我开发的环境变量管理工具,它可以帮助你轻松管理多个环境配置,支持一键切换,而且完全跨平台。

✨ 为什么需要这个工具?

典型场景

想象一下这些场景:

  1. 多 API 服务商切换
    • 开发时用 OpenAI GPT-4
    • 测试时用阿里云 Qwen
    • 生产环境用 Anthropic Claude
    • 每次都要改代码、改配置?
  2. 多环境配置
    • 本地开发环境
    • 测试环境
    • 生产环境
    • 如何快速切换?
  3. 团队协作
    • 每个人有自己的 API 密钥
    • 如何安全共享配置模板?
  4. 不同 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"
  }
}

技巧三:团队协作流程

  1. 提交配置模板 config.json.example
  2. 团队成员复制并修改为 config.json
  3. .gitignore 忽略实际配置文件
  4. 敏感配置使用 --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 ⭐