Textmate は、シェルからではなく、launchd を介して起動されます。
シェルから直接何かを実行すると、$PATH が移動します (open -a Textmate は機能しません。open は環境を Textmate に渡しません)。
これを回避する方法は、environment.plist、launchctl、または launchd.conf です。
OS Xで環境変数を設定しますか?
アップデート
編集/etc/launchd.conf
して再起動すると、変更が有効になります。各行は、のような launchctl コマンドにすることができますsetenv VAR_NAME "VAR_VALUE"
。次に、このファイルをlaunchctl your_file
.
再起動が面倒ですが。また、ユーザーごとの環境設定が必要な場合は、これは良くありません。Apple は~/.launchd.conf
、ユーザー固有の設定に使用できると提案していますが、まだこの機能を実装していません。
LoginHook と LogoffHook を使用して、ログイン時にスクリプトを実行するように設定できます ( Apple のドキュメントを参照)。または、LaunchAgents を使用します。LaunchAgent の設定方法の詳細については、この Macworld postの nicksay の投稿を参照してください。
ログイン中にlaunchctl setenv
コマンドが機能しないようです。現在、これに頭を悩ませています。
私は基本的にあなたが今日抱えているのと同じ問題に遭遇しました (Makefile バンドルは LIBRARY_PATH を gcc に渡しません)。そして今、ログイン時に変数割り当てのファイルを読み取り、現在のコピーを保存する Python スクリプトを作成しています。環境とそのファイルを割り当てて、ログアウト時にすべての変数をアンロードします。それはまた、更新オプションが必要であることを思い出させます。完了したら、ここに github リポジトリへのリンクを含むコメントを投稿します。それが機能する場合、それはです。