ことの発端
Huskyでpre-commitが設定してあるプロジェクトに対し、SourceTreeからコミットを行った際、
.husky/pre-commit: line 4: yarn: command not found
husky - pre-commit hook exited with code 127 (error)
というエラーが出てコミットできませんでした。
pre-commitを確認してみると、
yarn lint
という箇所があり、 yarn が見つからないことが原因のようです。
対策
Atlassianのコミュニティから解決法を見つけました。
いくつか方法が書いてありますが、僕はターミナルからSourceTreeを起動することで解決しました。
つまり、
open /Applications/SourceTree.app/Contents/MacOS/SourceTree
で、SourceTreeを起動することによってyarnのパスを通しています。
ただし、毎回コマンドを打ち込むのも面倒なので、
source-tree.command
#!/bin/sh open /Applications/SourceTree.app/Contents/MacOS/SourceTree
という形でバッチファイルを作成し、権限を与え、このファイルをダブルクリックすることでSourceTreeを起動することにしました。