Answers:
/etc/launchd.conf
10.10中不再支持。见man launchctl
:
/etc/launchd.conf文件不再需要在早期引导期间运行的子命令。出于安全考虑,已删除此功能。
例如,您现在可以将此plist保存为~/Library/LaunchAgents/my.startup.plist
:
<?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.startup</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>launchctl setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
该launchctl setenv
命令以用户身份运行,因此它仅适用于在用户域中启动的进程。
如果选中“重新登录时重新打开窗口”,则此方法不适用于在登录时重新打开的应用程序。
在10.9和更早版本中,您可以运行
echo setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin|sudo tee -a /etc/launchd.conf
然后重新启动以应用更改。
/etc/paths
并且/etc/paths.d/
仅(或主要)应用于外壳。在这些线/etc/paths
和/etc/paths.d/*
被添加到由路径path_helper,这是从运行/etc/profile
,/etc/zshenv
和/etc/csh.login
。除了shell之外,我不知道会考虑/etc/paths
或的其他程序/etc/paths.d/
。
~/.MacOSX/environment.plist
在10.8中停止工作。
/etc/launchd.conf
已在10.10中删除。
launchctl setenv
。launchctl setenv
从未影响现有流程。
有一种更简单的方法。将文本文件放在文件夹中/etc/paths.d/
。在此文本文件中,输入所需的路径和换行符。最好的方法是为每个路径创建一个新文件。
在我的系统上,有一个名为MySQL的文件,其文本为'/ usr / local / mysql / bin'和一个换行符。
您也许可以在文件中设置环境变量/etc/launchd-user.conf
...
在Mavericks中,我能够使用以下命令在文件中配置环境变量:
setenv TEST test
重新启动后,$TEST
从/etc/launchd-user.conf进行设置。
编辑
/etc/launchd.conf中文件的语法可能无效。您可以发布该文件的内容进行检查吗?
据我所知,在/etc/launchd.conf中设置PATH变量可以正常工作。但是,launchd
不执行任何参数扩展。因此,如果您输入setenv PATH $PATH:/usr/local/bin
,则结果路径将设置为“ $PATH:/usr/local/bin
”(注意:不是PATH 的值,而是文本“ $ PATH”)
在我的Mavericks安装中,将“ setenv PATH blablabla”添加到/etc/launchd.conf重启后不起作用
所以我在/ etc / paths的末尾添加了新路径,该路径可以正常工作。
/etc/paths
包含了我想要的所有内容,但是Sublime仍然只看到原始的PATH。如果我从终端运行它,它可以工作。
只需将您的“ bin”(您要添加的路径)路径添加到/ etc / paths文件-重新启动或重新登录!
sudo vi /etc/paths
(create a file (paths file) if it does't exist, I am using 'vi' editor, you can use your own as super user )
then, add your bin directory path like below
/usr/local/mysql/bin
/usr/local/apache-ant-1.9.3/bin
/usr/local/gradle-1.11/bin
保存文件并重新登录...希望这会有所帮助