Create  Edit  Diff  性犯罪ニュース  Index  Search  Changes  History  Source  RSS  wikifarm  Login

サーチパス

たとえば /usr/local/bin にあるコマンドが見つけられず、実行できなかったりする。 これは、TextMateがシェルコマンドを実行するときに設定する環境変数PATHの値に/usr/local/binが 含まれないためである。

通常、TextMateはシェルコマンドを実行するに際し、$TM_SUPPORT_PATH*1/libにある bash_init.sh を実行する。

内容を大まかに記すと、

  1. ~/Library/Application Support/TextMate/bash_init.sh の存在を調べる。
  2. 存在しなければ、以下のファイルを読む。(/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile)
  3. $TM_SUPPORT_PATH/binが存在すれば
    1. $TM_SUPPORT_PATH/binをPATH末尾に加える。
    2. $TM_SUPPORT_PATH/bin/CocoaDialog?.app/Contents/MacOSが存在すればPATH先頭に加える。
  4. ~/Library/Application Support/TextMate/bash_init.sh が存在すれば読み込む。

よって、PATHに/usr/local/binを追加するには、

  • ~/.bash_profile, ~/.bash_login, ~/.profileのいずれかでPATHを設定する。
  • ~/Library/Application Support/TextMate/bash_init.shでPATHを設定する。

のどちらかの方法を取ればよい。

Bundle Commandでshebang(#!)を含む場合は上の手順は適用されない。こちらは、 ~/.MacOSX/environment.plist内のPATHが参照される。

二カ所で設定するのがいやな場合は、~/.MacOSX/environment.plistにだけ設定して、 ~/Library/Application Support/TextMate/bash_init.shは空ファイルにしておけばいい。

関連リンク

Last modified:2006/12/14 18:48:47
Keyword(s):
References:

*1 TM_SUPPORT = /Application/TextMate.app/Contents/SharedSupport?/Support (以下同)