How to fix error 'not found husky-run' when committing new code?

33,757

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.

Share:
33,757
frosty
Author by

frosty

love love love JS!

Updated on July 12, 2022

Comments

  • frosty
    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 the package.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?