转载:http://www.ptbird.cn/husky-hooks-not-working.html
问题
之前写过一篇文章,基于 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 解决。