我已经和哈士奇一起工作了好几年了。我们开始了一个新的项目,并确定要添加husky来进行预提交和commit-msg linting。但这一次我们在windows机器上遇到了一些问题。
我们在项目中使用Mac配置了哈士奇。当我们添加一个新的开发谁拥有一个windows机器,有在提交错误.
我们有
- 预提交
- 提交消息
.husky/pre-commit
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
.husky/commit-msg
#!/bin/sh
echo $(dirname "$0")
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit $1
.husky/_/husky.sh
#!/usr/bin/env sh
if [ -z "$husky_skip_init" ]; then
debug () {
if [ "$HUSKY_DEBUG" = "1" ]; then
echo "husky (debug) - $1"
fi
}
readonly hook_name="$(basename -- "$0")"
debug "starting $hook_name..."
if [ "$HUSKY" = "0" ]; then
debug "HUSKY env variable is set to 0, skipping hook"
exit 0
fi
if [ -f ~/.huskyrc ]; then
debug "sourcing ~/.huskyrc"
. ~/.huskyrc
fi
readonly husky_skip_init=1
export husky_skip_init
sh -e "$0" "$@"
exitCode="$?"
if [ $exitCode != 0 ]; then
echo "husky - $hook_name hook exited with code $exitCode (error)"
fi
if [ $exitCode = 127 ]; then
echo "husky - command not found in PATH=$PATH"
fi
exit $exitCode
fi
.husky
文件夹中的文件。预提交文件工作正常,没有任何问题。但是我们在commit-msg的情况下得到以下错误
error: cannot spawn .husky/commit-msg: No such file or directory
它甚至没有被调用。
有人遇到过这个问题吗?有什么办法解决这个问题吗?
**注意:请不要建议使用--no-verify
,因为它与我们试图实现的相反。
1条答案
按热度按时间kb5ga3dv1#
我花了两天时间来解决这个问题。解决办法很简单。
解决方案:
删除了
.husky/commit-msg
中开头的空行。