Skip to content

mac上sourceTree提交代码时pre-commit钩子执行失败

场景

在vscode终端进行代码提交可以正常执行pre-commit钩子,但是在sourceTree里这个钩子总是执行失败

问题根源

sourceTree没有找到node路径,以至于执行不了npx命令。见github-issues

解决方案

在项目根目录下创建.huskyrc文件,文件里写如下代码

export PATH=\"$(dirname $(which node)):\$PATH\""

因为,这段脚本会在pre-commit之前执行,将node路径赋给环境变量PATH里,这样sourceTree就可以正确执行与node有关的命令(PS:pre-commit钩子里执行了npx lint-staged这个命令)

苏ICP备20040768号