Husky:无法生成.husky/commit-msg:没有这样的文件或目录

问题描述 投票:0回答:2

我和哈士奇一起工作已经好几年了。我们开始了一个新项目,并确保添加 husky 进行预提交和提交消息检查。但这次我们在 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
,因为它与我们试图实现的相反。

git hook githooks husky git-husky
2个回答
1
投票

我花了两天时间试图解决这个问题。解决办法很简单。

解决方案:

删除了

.husky/commit-msg
开头的空行。


0
投票

就我而言,我使用 yarn 而不是使用 npm 解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.