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

Windows 10运行Husky时pre-commit钩子触发Base path empty报错

解决方案
  • 调整Git默认Shell配置
    Husky v4的钩子脚本依赖类Unix Shell执行,Windows下需指定Git附带的Bash作为Git的默认执行Shell,执行以下命令(路径替换为你本地Git的bash.exe实际安装路径):
    git config --global core.shPath "C:\Program Files\Git\bin\bash.exe"
    执行完成后重启终端重试。
  • 修复钩子脚本的路径解析逻辑
    手动修改项目.git/hooks/目录下对应报错的钩子文件,将原有的. "$(dirname "$0")/husky.sh"行替换为以下内容,主动补全绝对路径避免dirname返回空:
    # 修复Windows下路径解析异常
    hook_dir=$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)
    . "${hook_dir}/husky.sh"
    
    如果要避免每次Husky重新生成钩子都手动修改,可以在package.json中新增配置,指定Husky使用的Shell路径:
    {
      "husky": {
        "shell": "C:\\Program Files\\Git\\bin\\bash.exe"
      }
    }
    
  • 检查项目路径与环境一致性
    • 确认项目完整存储路径不含中文、特殊符号或空格,若存在可将项目迁移到纯英文无特殊字符的路径下重试
    • 确认Git、Node、Husky均为同一环境的安装包,不要混用Windows本地工具和WSL/虚拟机内的工具,避免跨环境路径解析不兼容
  • 临时规避方案
    如果上述方案都不生效,可以在commit时添加--no-verify参数跳过钩子校验,注意该操作会绕过所有pre-commit检查,仅建议紧急场景下使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:27:00