Ошибка предварительной фиксации ‘Не удается найти модуль — npx-cli.js ‘ При использовании Хаски

#pre-commit-hook #husky

#перехват предварительной фиксации #husky

Вопрос:

Я пытаюсь запустить перехват предварительной фиксации, который проверяет мой стиль, используя husky и stylelint, но когда я пытаюсь зафиксировать файл, GitKracken завершается с ошибкой. Журнал выглядит следующим образом:

 Error: Cannot find module C:UsersnameAppDataRoamingnpmnode_modulesnpmbinnpx-cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
    at Function.Module._load (internal/modules/cjs/loader.js:686:27)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
    at internal/main/run_main_module.js:17:11 {
code: 'MODULE_NOT FOUND',
requireStack: []    
}
 

Я использую версию npm: 6.13.4 и версию узла: 12.14.1. Из моих исследований npx устанавливается с npm во всех версиях старше 5 или около того. Я также пытался глобально установить npx, но он не может установить, утверждая, что файл уже существует.

Я уверен, что это проблема с путем, или, возможно, я неправильно использую husky, но решил, что хотел бы узнать, знает ли кто-нибудь, почему у меня возникают проблемы с запуском этой работы. Спасибо за любые идеи, которые у вас могут быть.

package.json

 // I've tested rand the stylelint command manually and it does check for stylelint errors

{
"husky": {
    "hooks": {
      "pre-commit": "node ./node_modules/stylelint/bin/stylelint.js ./src/scss/**/*.scss"
    }
  }
}
 

Ответ №1:

Скорее всего, вы обновили Husky с версии 4 до версии 7, посмотрите руководство по миграции.