husky(v8)の導入とSourceTreeからprecommitさせるまでZennやっくん🦄husky(v8)の導入とSourceTreeからprecommitさせるまで2022/10/24に公開Gitnpmhuskyprecommittech自分のプロジェクトにhuskyを導入した際、過去と違う点がいくつかあったので備忘録です。いつぞやのコミット時から実はビルドが通らなくなっていた...なんて、そんな自分とはおさらばしたいわけです。#.gitと別階層にある今回は上記でいう/frontendにhuskyを導入します。詰まった点1コマンドを実行する公式ドキュメントの推奨通り、以下のコマンドを実行しました。今回はフロントでの導入だったのでディレクトリはひとつ移動しています。以下のエラーが返ってきました。${url})`);あれ?と思い下記コマンドを実行してもまたエラーが返ってきます。https://typicode.github.io/husky/#/?id=custom-directory)ちなみにhusky自体はinstallされており、package.jsonは以下のようになっています。前提にあったように、.gitとpackage.jsonの置かれた位置が異なるため、エラーになっていました。解決方法エラー文にあったURLから公式を見ると、きちんとそういった場合のUseCaseがありました。package.jsonの"prepare"を下記のようにします。installさせます。すると無事に/frontend/.huskyが生成されました。buildを走らせる」を実現します。下記npxコマンドを実行。buildが追加されています。詰まった点2よーし設定完了!ってことでSourceTreeからコミットすると以下のエラーメッセージが。buildやりたいけどpackage.jsonがねえよって言われてます。buildを実行したいわけなので、ディレクトリを移動させてあげれば解決しました。元のままだとルートで実行しようとしていて、そりゃあpackage.jsonないから無理だって話ですね。移動先のディレクトリ名はご自身の環境に合わせてください。buildを自動で走らせることが実現できました。それでもうまくいかないときは...huskyのコマンドが見つからないようなエラーが出ている場合はパスを通していないことが原因かもしれません。Windowsの場合はよしなに設定してくれる?(同じプロジェクトで関わったWinの人がそうでした)のですが、Macだとそうではないです。ホームディレクトリに.huskyrcを作成し、Nodeのパスを通してあげることでSourceTreeからもコミットできるようになるかと思います。CLIではhuskyが動くのにSourceTreeからコミットするとコマンドが走らない、といった場合も同じ原因であることが多いです。私は過去に設定している&今回VoltaでNodeを入れているのでまたケースがややこしくなるかなと思い、今回は記載を省略しました。これに該当していそうな方はまた別の記事のほうが参考になりますので、そういったキーワードで探していただいたほうがよいかと思います。おわりに8系だとなにかとうまくいかないことが多い気がするhuskyですが、セットアップなど含めわかりやすくなっているような気がしました(詰まったけど)。4系からのアップデート方法も公式に細かく解説されておりますので、新規プロジェクトを作成する際はぜひhuskyも最新バージョンを使ってみてはいかがでしょうか。よきprecommitライフを。やっくんWebデザインとかフロントエンドとかをやったりやってなかったりします。DiscussionやっくんWebデザインとかフロントエンドとかをやったりやってなかったりします。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。