计算机知识篇
什么是环境变量
环境变量的概念
想象你在一家公司上班,有些信息是全公司共享的,比如公司地址、WiFi密码、打印机IP。你不需要每次都问,因为它们写在公告板上,所有人都能看到。
环境变量就是操作系统的"公告板"——它存储着一些全局可用的键值对信息,任何程序都可以读取。
加载图表中...
最重要的环境变量:PATH
PATH 是最关键的环境变量之一。当你在终端输入一个命令时,系统会在 PATH 列出的目录中依次查找对应的程序。
# 查看 PATH 变量
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
# 当你输入 "node" 命令时,系统会依次在这些目录中查找 node 程序
加载图表中...
💡 如果你安装了某个工具但终端提示 "command not found",大概率是因为它的路径没有加入
PATH。
在终端中操作环境变量
# 查看所有环境变量
$ env
# 查看某个环境变量
$ echo $HOME
/Users/xuanyuan
# 临时设置环境变量(仅当前终端有效)
$ export MY_VAR="hello"
$ echo $MY_VAR
hello
# Windows PowerShell 中
> $env:MY_VAR = "hello"
项目中的 .env 文件
在实际开发中,我们通常用 .env 文件来管理项目的环境变量:
# .env 文件内容
DATABASE_URL=mysql://user:password@localhost:3306/mydb
API_KEY=sk-abc123456789
NEXT_PUBLIC_SITE_URL=https://example.com
NODE_ENV=development
为什么需要 .env 文件?
| 原因 | 说明 |
|---|---|
| 安全性 | 密钥不写在代码里,不会被推到 GitHub |
| 灵活性 | 不同环境(开发/测试/生产)用不同的值 |
| 团队协作 | 每个开发者可以有自己的配置 |
.env 文件的重要规则
# ⚠️ .env 文件必须添加到 .gitignore 中!
# .gitignore 文件内容:
.env
.env.local
.env.production
⚠️ 永远不要把包含密钥的 .env 文件提交到 Git 仓库! 这是新手最常见的安全事故。
常见环境变量场景
加载图表中...
在代码中读取环境变量
// Node.js / Next.js
const apiKey = process.env.API_KEY;
const dbUrl = process.env.DATABASE_URL;
// 前端环境变量(Next.js 中必须以 NEXT_PUBLIC_ 开头)
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL;
# Python
import os
api_key = os.environ.get("API_KEY")
db_url = os.environ.get("DATABASE_URL")
小结
- 环境变量是操作系统级别的全局键值对
- PATH 决定了终端能找到哪些程序
.env文件用于管理项目的敏感配置- 绝不把 .env 提交到 Git,这是安全底线
- 不同环境使用不同的环境变量值