How to fix error 'not found husky-run' when committing new code?
Solution 1
To fix this there are two methods, depending on which version of Husky you are already on.
If you're using Husky v4 or lower, do the following:
rm -rf .git/hooks
npm install
For Husky v7 or greater, do the following:
# 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
At this point you should be able to commit and have your hooks working again.
If anything goes wrong, please read the documentation for migration from 4 to 7.
Solution 2
To fix this in husky version 6 run:
yarn husky install
Solution 3
Do not delete .get/hooks
hooks won't work.
According migrating manual from 4 to 6 version :
For npm usage execute
npm install husky@6 --save-dev \
&& npx husky-init \
&& npm exec -- github:typicode/husky-4-to-6 --remove-v4-config
For yarn usage:
yarn add husky@6 --dev \
&& npx husky-init \
&& npm exec -- github:typicode/husky-4-to-6 --remove-v4-config
and
yarn add husky@6 --dev \
&& yarn dlx husky-init --yarn2 \
&& npm exec -- github:typicode/husky-4-to-6 --remove-v4-config
If any errors while the process you can simply revert changes by executing:
rm -rf .husky && git config --unset core.hooksPath
Explanation what's going on:
husky init sets up Git hooks and updates your package.json
scripts (you may want to commit your changes to package.json
before running husky init).
husky-4-to-6
creates hooks based on your husky v4 config. If --remove-v4-config
is passed, previous config will be deleted (recommended).
Solution 4
just a "yarn install" solved this for me
Solution 5
I simply had to add a prepare script to my package.json
:
"scripts": {
...
"prepare": "husky install",
...
}
Then run yarn install
and husky will be initialized. This will make sure people who check out your repo will also be able to run husky.
Comments
-
frosty almost 2 years
When committing on a project that uses Husky, I get an error that says
not found husky-run
I checked the
package.json
and it has husky as a dependency, and I can see the pre-commit hook configuration for Husky in thepackage.json
. So I don't know what to do to fix this. Additionally, other members on my team can commit and husky works for them.I also tried
rm -rf node_modules && npm install
and then committing again, but still, I get the same error.Anyone else have ideas on how to fix this?