环境变量用于在操作系统层面存储配置信息,避免将敏感数据(如数据库密码、API密钥)硬编码到代码中。
常用场景
- 区分开发/生产环境(如
NODE_ENV=production) - 存储敏感信息(数据库连接串、密钥)
- 配置软件路径(如 Java、Python 的安装路径)
配置方法
Windows(PowerShell):
# 临时生效(当前窗口)
$env:DATABASE_URL="postgresql://user:pass@localhost:5432/db"
# 永久生效(用户级)
[Environment]::SetEnvironmentVariable("DATABASE_URL", "postgresql://...", "User")
Linux/macOS:
# 临时生效
export DATABASE_URL="postgresql://user:pass@localhost:5432/db"
# 永久生效(写入配置文件)
echo 'export DATABASE_URL="postgresql://..."' >> ~/.bashrc
source ~/.bashrc
项目实践(推荐)
- 创建
.env文件(切勿提交到 Git):
# .env
NODE_ENV=development
PORT=3000
DATABASE_URL=postgresql://localhost:5432/myapp
JWT_SECRET=your-secret-key-here
- 添加
.gitignore:
.env
.env.local
- 代码中读取(以 Node.js 为例):
require('dotenv').config();
const dbUrl = process.env.DATABASE_URL;
验证配置
# Windows
echo %DATABASE_URL%
# Linux/macOS
echo $DATABASE_URL
注意事项
- 生产环境密码应通过 CI/CD secret 注入,而非写在服务器文件里
- 环境变量修改后需重启终端或应用才能生效
- 路径含空格时需加引号,如
PATH="C:\Program Files\nodejs"