38

在提交使用 Husky 的项目时,我收到一条错误消息not found husky-run

我检查了package.json它,它有 husky 作为依赖项,我可以在package.json. 所以我不知道该怎么做才能解决这个问题。此外,我团队中的其他成员可以为他们提交和哈士奇的工作。

我也尝试过rm -rf node_modules && npm install,然后再次提交,但仍然出现同样的错误。

还有其他人对如何解决这个问题有想法吗?

4

6 回答 6

62

要解决此问题,有两种方法,具体取决于您使用的 Husky 版本。

如果您使用的是 Husky v4 或更低版本,请执行以下操作:

rm -rf .git/hooks
npm install

对于 Husky v7 或更高版本,请执行以下操作:

# For NPM
 npm install husky@7 --save-dev \
      && npx husky-init \
      && npm exec -- github:typicode/husky-4-to-7 --remove-v4-config

# For Yarn
 yarn add husky@7 --dev \
  && npx husky-init \
  && npm exec -- github:typicode/husky-4-to-7 --remove-v4-config
# or
 yarn add husky@7 --dev \
  && yarn dlx husky-init --yarn2 \
  && npm exec -- github:typicode/husky-4-to-7 --remove-v4-config

此时,您应该能够提交并让您的钩子再次工作。

如果出现任何问题,请阅读从 4 迁移到 7 的文档

于 2021-02-17T17:00:51.080 回答
12

要在 husky 版本 6 中解决此问题,请运行:

yarn husky install
于 2021-04-30T12:12:59.677 回答
9

不要删除.get/hooks钩子是行不通的。根据从 4 到 6 版本的迁移手册

对于 npm 使用执行

 npm install husky@6 --save-dev \
      && npx husky-init \
      && npm exec -- github:typicode/husky-4-to-6 --remove-v4-config

纱线用途:

 yarn add husky@6 --dev \
  && npx husky-init \
  && npm exec -- github:typicode/husky-4-to-6 --remove-v4-config

yarn add husky@6 --dev \
  && yarn dlx husky-init --yarn2 \
  && npm exec -- github:typicode/husky-4-to-6 --remove-v4-config

如果过程中有任何错误,您可以通过执行简单地恢复更改:

rm -rf .husky && git config --unset core.hooksPath

解释发生了什么:

husky init 设置 Git 挂钩并更新您的package.json脚本(您可能希望package.json在运行 husky init 之前提交您的更改)。

husky-4-to-6根据您的 husky v4 配置创建挂钩。如果--remove-v4-config通过,则会删除之前的配置(推荐)。

于 2021-04-21T08:27:20.850 回答
1

只是“纱线安装”为我解决了这个问题

于 2021-05-19T11:56:17.283 回答
1

我只需将准备脚本添加到我的package.json

"scripts": {
  ...
  "prepare": "husky install",
  ...
}

然后运行yarn install,哈士奇就会被初始化。这将确保查看您的仓库的人也能够运行 husky。

于 2021-12-11T00:00:49.967 回答
0

就在你的终端里面这个'yarn add husky@6 --dev'

于 2021-11-23T22:49:14.580 回答