本文阐明如何在 macOS、Windows 和 Linux 系统中高效、正确地配置环境变量,避免在代码中明文写入API Key、Access Key 等信息。
操作系统 | Shell | 临时设置 (当前会话) | 永久设置 (推荐文件) |
|---|---|---|---|
macOS / Linux | Bash / Zsh |
|
|
PowerShell |
|
| |
Windows | Command Prompt |
|
|
PowerShell |
|
|
环境变量是操作系统级的键值对,用于存储配置信息,能够影响运行中进程的行为。它们分为两类:
在类 Unix 系统中,环境变量的配置与您使用的 Shell 密切相关。
~/.bash_profile: Bash 登录 Shell 时加载。通常用于定义希望在整个用户会话期间都可用的变量。~/.bashrc: Bash 交互式非登录 Shell 时加载。适合定义别名和函数。~/.zshenv: (推荐用于环境变量) Zsh 每次启动时都会加载,无论是否是登录或交互式 Shell。这是设置环境变量最可靠的地方。~/.zprofile: Zsh 登录 Shell 时加载,在 .zshenv 之后。~/.zshrc: Zsh 交互式 Shell 时加载。适合配置 Shell 交互相关的设置(如提示符、别名)。说明
为确保环境变量在所有场景下(包括 GUI 应用)都可用,建议将 export 语句放在 ~/.zshenv (Zsh) 或 ~/.bash_profile (Bash) 文件中。
在终端中执行 export 命令。
# 示例:临时设置 ARK_API_KEY export ARK_API_KEY="your-ark-api-key-here"
~/.zshenv。# Zsh 用户 nano ~/.zshenv # Bash 用户 nano ~/.bash_profile
export 语句。# 设置 ARK_API_KEY 环境变量 export ARK_API_KEY="your-ark-api-key-here"
source 命令或重启终端使配置生效。# Zsh 用户 source ~/.zshrc # Bash 用户 source ~/.bash_profile
PowerShell 在所有平台上的行为基本一致。
$env:ARK_API_KEY = "your-ark-api-key-here"
# 这会自动用默认编辑器打开配置文件 code $profile
$env:ARK_API_KEY = "your-ark-api-key-here"
. 命令或重启 PowerShell。. $profile
Windows 将环境变量分为“用户变量”和“系统变量”。前者仅对当前用户有效,后者对所有用户有效。
使用 set 命令。
set ARK_API_KEY=your-ark-api-key-here
使用 setx 命令。
:: 设置用户变量 setx ARK_API_KEY "your-ark-api-key-here" :: 设置系统变量 (需要管理员权限) setx ARK_API_KEY "your-ark-api-key-here" /m
注意: setx 设置的变量在新的命令提示符窗口中才会生效,不会影响当前窗口。
$env:ARK_API_KEY = "your-ark-api-key-here"
使用 .NET API 是最可靠的方式。
# 设置用户变量 [Environment]::SetEnvironmentVariable("ARK_API_KEY", "your-ark-api-key-here", "User") # 设置系统变量 (需要管理员权限) [Environment]::SetEnvironmentVariable("ARK_API_KEY", "your-ark-api-key-here", "Machine")
ARK_API_KEY 和您的密钥作为变量值。配置完成后,您可以通过以下方式验证:
echo $ARK_API_KEY
echo %ARK_API_KEY%
echo $env:ARK_API_KEY # 或者 Get-ChildItem env:ARK_API_KEY
对于永久配置,请务必重启您的终端或 IDE后再次检查,以确保配置已正确加载。
警告: 绝对不要将包含 ARK_API_KEY 等敏感信息的配置文件提交到 Git 等版本控制系统。
.gitignore: 确保包含敏感信息的本地配置文件(如 .envrc, .env)被添加到 .gitignore 文件中。.env 文件来管理环境变量,并结合 dotenv (Node.js), python-dotenv (Python) 等库在应用启动时加载它们。direnvdirenv 是一个强大的工具,它可以在您进入或离开项目目录时自动加载或卸载环境变量。
brew install direnv
.envrc 文件。# .envrc export ARK_API_KEY="your-project-specific-key"
direnv allow。之后每次进入该目录,.envrc 中的变量都会自动生效。