五种macOS环境变量配置方法:一、编辑~/.zshrc永久生效;二、临时设置当前会话;三、通过/etc/paths.d/添加系统级路径;四、桥接复用~/.bash_profile;五、用launchd plist为GUI应用注入变量。

一、编辑 ~/.zshrc 文件添加环境变量
此方法通过修改用户专属的 zsh 初始化配置文件,使环境变量在每次启动终端时自动加载,适用于绝大多数日常开发场景。该方式安全、可逆,且仅影响当前用户。
1、打开“终端”应用程序,执行以下命令以进入编辑状态:
nano ~/.zshrc
2、在文件末尾新增一行,格式为:
export PATH=$PATH:/your/custom/path
3、如需设置自定义变量(例如 JAVA_HOME),在同一位置追加:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
4、保存更改:按 Control + O,回车确认写入;退出编辑器:按 Control + X。
5、立即应用新配置:
source ~/.zshrc
二、临时设置当前会话环境变量
该方式不修改任何配置文件,仅在当前终端窗口中生效,适合快速验证路径有效性或调试命令是否可达,关闭终端即失效。
1、在终端中直接输入命令设置 PATH 扩展:
export PATH=$PATH:/opt/homebrew/bin
2、设置自定义变量示例:
export GOPRIVATE=git.example.com/internal
3、验证是否生效:
echo $PATH
4、检查自定义变量值:
echo $GOPRIVATE
三、通过 /etc/paths.d/ 创建独立路径条目
此方法将新增路径以独立文件形式存入系统路径管理目录,避免直接编辑全局文件,便于维护与卸载,且对所有用户及 GUI 应用均有效。
1、创建专用路径文件(需管理员权限):
sudo touch /etc/paths.d/mytools
2、使用 nano 编辑该文件:
sudo nano /etc/paths.d/mytools
3、在文件中**仅写入一条完整路径**,不可含空格或 export 语句:
/usr/local/myapp/bin
4、保存并退出后,新开终端窗口即可生效;无需执行 source 或重启系统。
四、兼容旧版 bash 配置的桥接方案
若已存在 ~/.bash_profile 并包含大量环境变量定义,而当前使用 zsh,则可通过在 ~/.zshrc 中引入该文件实现复用,避免重复维护。
1、确认 ~/.bash_profile 是否存在且含有效 export 语句:
cat ~/.bash_profile | grep "export"
2、编辑 ~/.zshrc,在文件末尾添加:
source ~/.bash_profile
3、保存后执行:
source ~/.zshrc
4、验证变量是否加载成功:
echo $ANDROID_HOME
五、为图形界面应用注入环境变量
部分 macOS 图形界面程序(如 VS Code、IntelliJ IDEA)启动时不读取 shell 配置文件,需通过 launchd plist 显式声明环境变量,否则无法识别 PATH 或自定义变量。
1、创建 LaunchAgents 目录(如不存在):
mkdir -p ~/Library/LaunchAgents
2、创建配置文件:
nano ~/Library/LaunchAgents/environment.plist
3、填入标准 plist 结构,其中 PATH 和 JAVA_HOME 必须使用全路径字符串:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my.environment</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/opt/homebrew/bin:/bin:/usr/bin:/usr/sbin:/sbin</string>
<key>JAVA_HOME</key>
<string>/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home</string>
</dict>
</dict>
</plist>
4、加载配置:
launchctl load ~/Library/LaunchAgents/environment.plist
5、**重启图形界面应用**(非仅重启终端),使其读取新注入的变量。










