问题

之前写过一篇文章,基于 husky + prettier + pretty-quick 进行 git commit 自动格式化代码

其实在项目实际应用过程中遇到过一次 husky hooks 不生效的问题,这里记录下。

问题表现:

  • 问题比较比较直观,通过 huksy install 之后 git commit 时,pre-commit 设置的 hooks 不起作用。
  • 重新安装 husky 或者其他依赖等都不起作用

解决方法

参考 github 一个 issue:https://github.com/typicode/husky/issues/326

1、运行 git config --list

查看是否存在 hooksPath,如果存在 hooksPath 可以注释或者是移除

移除命令:git config remove xxxx

2、删除 .git/hooks

删除 .git/hooks 目录

3、运行 npm install or yarn install

重新安装依赖

上述解决方法的原理
husky 安装时只会接管之前的 hooks(在 .git/hooks 文件目录),而不会覆盖它

其他可能遇到的问题

解决 husky-run not found 问题

如果执行完上面方法之后,再次执行 git commit,结果提示 husky-run not found 可以通过重新安装 husky 或者重新执行 npx huksy install 来重新安装 hooks 解决。

文章已经结束啦