今まではSourceTreeをターミナルから起動することで対応していました。
でも毎回は面倒くさい…。
調べていたら、1コマンドで簡単にhusky用の設定ファイルを作成できる方法を見つけました。
環境:macOS Catalina 10.15.7
gitクライアントツール:SourceTree
SourceTreeでコミットしてエラーが出たときの、今までの対処法
.husky/pre-commit: line 4: npm: command not found
husky - pre-commit hook exited with code 127 (error)
上記のようにエラーが発生してコミットできなくなることがあります。
その度にターミナルで
$ open /Applications/Sourcetree.app
を実行し、SourceTreeをターミナル経由で起動することで解決していました。
こちらの方法も有用ですので、これから記述する対処法でもし解決しなければ試してみてください。
設定ファイル.huskyrcを作成する
huskyのIssueに解決策が提案されていました。
結論から言うと
$ echo "export PATH=\"$(dirname $(which node)):\$PATH\"" > ~/.huskyrc
を実行すれば解決します。
上記コマンドを実行すると設定ファイル.huskyrc
が生成され
ファイルの中身にnodeディレクトリのパスを通す記述をしてくれます。
ざっくり説明すると、コミット時にhuskyが発火するとこの設定ファイルを見に行くので
nodeのパスを毎回通すことに成功する、という仕組みのようです。
.huskeyrc
の詳しい仕組みとコマンドの解説はIssueのコメントで丁寧に解説されているのでご一読ください。