嵌套目录下Husky pre-commit钩子未执行问题求助
解决Husky pre-commit钩子不触发问题
核心排查与修复步骤
- 确认husky安装路径匹配项目结构
你的Vue项目位于/src/Template.Web/src,需确保prepare脚本在该目录下执行husky install,对应package.json配置:
若需从仓库根目录触发prepare,需先切换到项目子目录:"scripts": { "prepare": "husky install .husky" }"scripts": { "prepare": "cd src/Template.Web/src && husky install .husky" } - 修复钩子文件权限
确保.husky/pre-commit具备可执行权限,终端执行:chmod +x /src/Template.Web/src/.husky/pre-commit - 校验钩子脚本格式
确认pre-commit脚本开头包含正确的shebang,示例:#!/bin/sh . "$(dirname "$0")/_/husky.sh" echo "pre-commit钩子已触发" # 后续执行lint-staged等命令 - 手动测试钩子有效性
直接运行钩子脚本验证输出:
若脚本本身输出正常,再通过git commit触发测试:cd /src/Template.Web/src && ./.husky/pre-commitgit add . && git commit -m "测试husky钩子" - 排查版本兼容性
若使用husky v7+,删除package.json中旧版本的husky字段配置(v7+仅通过.husky目录管理钩子),必要时重新初始化:cd /src/Template.Web/src && npx husky add .husky/pre-commit "echo pre-commit触发"
内容的提问来源于stack exchange,提问作者botana_dev
相关产品推荐
相关产品推荐

