Mac本地执行husky install提示找不到.git目录的单项目问题
故障现象
- Mac本地执行
husky install时报错,提示无法找到.git目录 - 问题仅在单个React Native项目复现,其余同技术栈React Native项目执行相同操作均正常
- 已移除项目内所有husky相关引用与配置,重新执行安装后仍报相同错误

修复步骤
按顺序排查以下常见原因,可覆盖绝大多数单项目触发该异常的场景:
确认项目根目录git仓库状态
在项目根目录执行ls -a查看所有隐藏文件,如果输出里没有.git目录,说明该项目未完成本地git初始化,直接执行git init完成仓库初始化后,再运行husky install即可恢复正常。
不要在ios、android这类项目子目录下执行husky命令,必须切到package.json所在的根目录层级执行,路径不对也会触发同类报错。清理git本地残留的错误hooks配置
如果根目录确实存在.git文件夹,执行命令检查本地git配置里的残留项:git config --local --list | grep husky如果输出里有
core.hooksPath指向不存在的路径,直接执行命令删除该错误配置:git config --local --unset core.hooksPath清理完成后重新执行
husky install即可。多数人清理husky配置时只会删除package.json和.husky目录下的内容,遗漏git config内的残留设置,就会出现反复报错的情况。排查全局husky配置冲突
如果本地git配置无异常,检查用户目录下的全局husky配置文件:cat ~/.huskyrc如果配置里写死了其他不存在的项目路径,删除对应错误规则即可;没有全局自定义配置需求的话,直接删除该文件也不会造成影响。
重装依赖修复损坏的husky执行文件
React Native项目依赖层级较深,锁文件异常很容易导致husky的路径解析出错,直接删除依赖目录和锁文件后重装即可:# 按照自己使用的包管理器删除对应锁文件即可 rm -rf node_modules yarn.lock package-lock.json pnpm-lock.yaml npm install # 可替换为对应包管理器命令,如yarn install、pnpm install依赖安装完成后再执行
husky install即可正常运行。
内容的提问来源于stack exchange,提问作者Sandeep Rajbhar
相关产品推荐
相关产品推荐

