什么是系统环境变量
系统环境变量是操作系统中用于存储配置信息的键值对,比如 Java 开发需要的 JAVA_HOME,或者 Python 使用的 PYTHONPATH。它们让程序在不修改代码的情况下,知道依赖库、可执行文件的位置。
举个例子,你在命令行输入 python 或 node,系统能立刻找到对应的程序运行,靠的就是 PATH 环境变量里记录了这些可执行文件的路径。
为什么开发者要关注环境变量
做项目时经常会遇到“在我电脑上好好的,到你这就报错”的情况。很大概率就是环境变量没配一致。比如连接数据库用到了环境变量 DB_HOST,本地开发和服务器上值不同,通过环境变量管理就能避免硬编码,提升安全性与灵活性。
再比如前端开发中,React 项目常用 .env 文件定义环境变量,区分开发、测试、生产环境的接口地址,部署时不用改一行代码。
Windows 上怎么设置
右键“此电脑” → 属性 → 高级系统设置 → 环境变量。你可以在这里新增用户或系统的变量。
比如添加 NODE_ENV=development,或者把某个工具的安装路径加进 PATH。改完记得重启终端,不然新变量不生效。
macOS 和 Linux 操作方式
打开终端,编辑 shell 配置文件,常见的是 ~/.zshrc 或 ~/.bashrc(取决于你用的 shell)。
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export API_BASE_URL=https://api.dev.example.com保存后运行 source ~/.zshrc 让配置立即生效。
开发中的实用场景
写脚本时经常要跨平台运行。通过环境变量判断当前环境,可以自动切换行为。比如:
if [ "$ENV_TYPE" = "prod" ]; then
echo "正在部署生产环境"
./deploy.sh --prod
else
echo "使用开发配置"
./start-dev-server
fi团队协作时,把环境变量写进文档或 .env.example 示例文件,新人拉下代码配好变量,5 分钟就能跑起来,省去一堆“怎么又启动不了”的沟通成本。
注意安全别泄露
敏感信息如 API 密钥、数据库密码,绝不能直接写在代码里。通过环境变量传入,再配合 CI/CD 工具注入,既安全又便于管理。
记得把 .env 加进 .gitignore,避免误提交到 Git 仓库。线上服务器用运维工具(如 Ansible、Docker Compose)统一配置,保持一致性。