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では機能しません。これを設定するにはどうすればよいですか?
これは、10.10 Yosemite(10.9 Mavericksについてはよくわかりません)を含む最新バージョンのOSXでは機能しなくなりました。ただし、10.8 Mountain Lionでは機能します。
実際にはそれほど難しくはありませんが、管理者権限が必要です(Sudo
コマンドを使用して/etc
に書き込みます)。
ターミナル(またはお気に入りの代替品)から、ファイル/etc/launchd.conf
に何かがあるかどうかを確認します。
cat /etc/launchd.conf
次のようなエラーが発生した場合
cat:/etc/launchd.conf:そのようなファイルやディレクトリはありません
その後、次のステップに進みます。 cat
コマンドでコンテンツが表示される場合は、それをコピーします。
後で確認する必要があるため、システムの現在のパスを決定します。
launchctl getenv PATH
お気に入りのエディターで、ニーズに合わせて変更された次のコンテンツを含む新しいテキストファイルを作成します。
setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin:/path/to/gems/bin
前の手順のパスの全体の内容が含まれていることを確認してください。含まれていないと、システムが破損します。
手順1のcat
コマンドでコンテンツが表示された場合は、setenv PATH
コマンドの前に新しいファイルに貼り付けます。すでにsetenv PATH
コマンドが含まれている場合は、それを変更して、必要なディレクトリを追加します。
新しいファイルをホームディレクトリ(/Users/YourUserName
)にlaunchd.conf
として保存します。
ターミナルに戻り、次のように入力します。
Sudo mv ~/launchd.conf /etc
管理者権限を使用して新しいファイルを/etc
に移動し、以前にあったものをすべて置き換えます。 Sudo
コマンドの以前の使用法によっては、「実行していることに注意してください」という短いメッセージが表示される場合がありますが、どちらの場合もパスワードを入力する必要があります。 /etc
は、実際のパワーユーザーであり、OSXのファイルシステムの制限を回避する方法を知らない限り、グラフィカルエディタの[保存]ダイアログから直接アクセスすることはできません。
コンピュータを再起動します
そして、あなたはすべて設定されている必要があります。興味がある場合は、 launchd
および launchctl
csh
/tcsh
構文を使用してください。したがって、bash
/zsh
export PATH=/usr/local/bin:...
形式は使用できません。