You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git提交时Husky未触发npx lint-staged问题求助

解决Husky Pre-Commit钩子不触发lint-staged的问题

问题现象

执行git commit时,Husky的pre-commit阶段未触发npx lint-staged,但手动运行npx lint-staged可正常检测代码问题。

排查与解决步骤

1. 修复pre-commit脚本的语法错误

你当前的.husky/pre-commit脚本中存在引号转义错误,导致无法正确加载husky的核心脚本。
错误代码:

#!/bin/sh
. \"$(dirname \"$0\")/_/husky.sh\"

npx lint-staged

将其修改为正确的无转义版本:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

解释:Shell脚本中双引号无需转义,转义会导致路径解析失败,husky无法初始化,钩子自然不执行。

2. 确保钩子脚本有可执行权限

Git要求钩子脚本必须具备可执行权限才能运行,执行以下命令添加权限:

chmod +x .husky/pre-commit

3. 重新初始化Husky(可选,若上述步骤无效)

如果之前Husky安装不彻底,可重新安装并生成钩子:

# 卸载现有husky
pnpm remove husky
# 重新安装开发依赖
pnpm add -D husky
# 执行prepare脚本初始化husky
pnpm run prepare
# 重新生成pre-commit钩子
npx husky add .husky/pre-commit "npx lint-staged"

4. 验证修复

故意修改一个tsx文件(比如添加未使用的变量),执行git add .后再运行git commit,此时应该能触发lint-staged的代码检查,拦截不符合规范的提交。

内容的提问来源于stack exchange,提问作者Lxbster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 21:52:55