English Version
在Mac OS X 中,/etc/profile
和 ~/.bash_profile
等文件中导出的变量无法在 *.app 形式的桌面应用中直接读取,如果想要在 *.app 中使用环境变量,有以下两个办法:
1. 使用 launchd.conf 配置环境变量
如果不想通过终端打开应用,你可以使用 /etc/launchd.conf
配置环境变量。
sudo vim /etc/launchd.conf
如果你之前没有配置过得话可能这是个新文件
以下例子设置了 JAVA8_HOME
和 JAVA7_HOME
, 用于在 Android Studio 中配置 retrolambda
setenv JAVA8_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
setenv JAVA7_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
保存修改之后,重启 Mac 使其生效。
2.脚本(10.10 Yosemite及之前版本皆有效)
打开 Script Editor(Launch Pad -> Other -> Script Editor
)
输入脚本:
do shell script "launchctl setenv variable value"
想要设置几个变量就写几条语句。
将脚本保存为应用程序,打开 SystemPreferences -> Users & Groups -> your user -> Login Items
并添加刚才的脚本。
如果要使修改生效,注销并重新登陆即可。