在提交使用 Husky 的项目时,我收到一条错误消息not found husky-run
我检查了package.json
它,它有 husky 作为依赖项,我可以在package.json
. 所以我不知道该怎么做才能解决这个问题。此外,我团队中的其他成员可以为他们提交和哈士奇的工作。
我也尝试过rm -rf node_modules && npm install
,然后再次提交,但仍然出现同样的错误。
还有其他人对如何解决这个问题有想法吗?
要解决此问题,有两种方法,具体取决于您使用的 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 的文档。
要在 husky 版本 6 中解决此问题,请运行:
yarn husky install
不要删除.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
通过,则会删除之前的配置(推荐)。
只是“纱线安装”为我解决了这个问题
我只需将准备脚本添加到我的package.json
:
"scripts": {
...
"prepare": "husky install",
...
}
然后运行yarn install
,哈士奇就会被初始化。这将确保查看您的仓库的人也能够运行 husky。
就在你的终端里面这个'yarn add husky@6 --dev'