如何設置 OSX 應用程序使用的路徑
我正在執行 Mountain Lion 10.8.4,並且我的環境全部通過自定義,
~/.profile
以便當我從命令行執行Sublime Text或 Eclipse等 GUI 應用程序時open /Applications/Sublime\ Text\ 2.app
他們繼承了我的
$PATH
設置,允許應用程序執行不在 OSX 非常有限的預設路徑中的外部命令。但是,我真的希望能夠通過 Finder 或 Dock 打開程序,並為它們提供與我在命令行中使用的相同的路徑。launchctl setenv PATH $PATH
在 10.8 中不起作用。我該如何設置?
筆記
這不再適用於更新版本的 OS X,包括 10.10 Yosemite(我不確定 10.9 Mavericks)。但是,它確實適用於 10.8 Mountain Lion。
這實際上並不太難,但您確實需要具有管理員權限(使用
sudo
命令寫入/etc
)。
- 從終端(或您最喜歡的替代品),查看文件中是否有任何內容
/etc/launchd.conf
:cat /etc/launchd.conf
如果您收到類似的錯誤
cat: /etc/launchd.conf: 沒有這樣的文件或目錄
然後繼續下一步。如果該
cat
命令確實顯示了一些內容,請複制它。 2. 確定係統的目前路徑,因為我們需要確保稍後包含它:launchctl getenv PATH
- 在您喜歡的編輯器中,創建一個包含以下內容的新文本文件,並根據您的需要進行修改:
setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin:/path/to/gems/bin
確保您已包含上一步中路徑的全部內容,否則您將破壞您的系統。
如果
cat
步驟 1 中的命令顯示了一些內容,請將其粘貼到命令之前的新文件中setenv PATH
。如果它已經包含一個setenv PATH
命令,只需修改它以添加您需要的額外目錄。 4. 將您的主目錄(/Users/YourUserName
) 中的新文件另存為launchd.conf
. 5. 返回終端並輸入:sudo mv ~/launchd.conf /etc
使用管理員權限將新文件移動到
/etc
,替換之前的任何內容。根據您之前對該sudo
命令的使用,您可能會收到一條簡短的“小心做您正在做的事情”的消息,但無論哪種方式,您都需要輸入密碼。/etc
除非您是真正的高級使用者並且知道如何繞過 OSX 的文件系統限制,否則無法通過圖形編輯器的“保存”對話框直接訪問。 6. 重新啟動電腦你應該準備好了。如果你有興趣,
launchd
並且launchctl
使用csh
/tcsh
語法,那麼你不能使用bash
/zsh
export PATH=/usr/local/bin:...
格式。