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

Windows系统下Husky预提交钩子执行失败的原因是什么?

Windows下Husky预提交钩子报错找不到bash的解决办法

问题原因

你写的npm命令本身不依赖bash,但Husky自动生成的钩子启动脚本是基于bash编写的。打开项目里的.git/hooks/pre-commit文件就能看到,开头第一行是#!/usr/bin/env bash——Windows系统默认没有这个路径下的bash环境,所以会触发找不到bash的错误。

解决办法

  • 安装Git for Windows并配置PATH
    安装Git for Windows时,选择「Use Git and optional Unix tools from the Command Prompt」选项,安装完成后,Git自带的bash会被加入系统PATH,Husky就能正常调用bash执行钩子脚本。
  • 修改Husky的shell配置
    找到项目根目录下的.husky/_/husky.sh文件,把开头的#!/usr/bin/env bash替换成Git bash的绝对路径(比如#!/C/Program\ Files/Git/bin/bash.exe),或者改用Windows原生的cmd:
    #!/usr/bin/env cmd
    
    注意:改用cmd后,钩子脚本里的命令语法需要调整为cmd兼容的格式。
  • 切换到PowerShell
    把钩子脚本开头改成#!/usr/bin/env pwsh,确保PowerShell已加入系统PATH,同时调整脚本语法适配PowerShell。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 07:22:10