LoginSignup
3

posted at

SourceTreeでコミットしたときにhuskyが動かないときの対処法

今までは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のコメントで丁寧に解説されているのでご一読ください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3