SourceTreeだとgit hookのpre-commitでエラーになる場合

git hook で pre-commit で npm コマンドを実行するスクリプトを動かしていたのですが、SourceTreeだとコマンドがnot foundになってエラーになりました。

Windowsの時はうまくいっていたのですが、詳細の原因は不明です。

どうやら、node や npm のPATHを.bash_profileで通していることが原因らしく、SourceTreeのようなGUIの場合は .bash_profile が実行されずにPATHが通らないようです。

ターミナルからstreeや直接openコマンドでSourceTreeを起動することも試しましたが、失敗するスクリプト内で echo $PATH を実行すると、やはりパスが通っていない状態で、変わらずNGでした。

最終的には、スクリプト内に source ~/.bash_profile を実行するようにして解消したのですが、あまり良い方法ではないです。