#git #husky
#git #husky
Вопрос:
Я установил Husky v5 в своем приложении, и я хотел бы запустить lint-staged
команду после фиксации.
Я следил за документами по началу работы, но в моих файлах конфигурации git не был создан файл .git / hooks / pre-commit.
Итак, когда я совершаю коммит, хук не запускается, и коммит проходит сразу, не проверяясь lint-staged .
Я попытался запустить yarn add -D husky@next
или npm i -D husky@next
. Я также попытался удалить node_modules и перестроить npm.
.husky / предварительная фиксация
#!/bin/sh
[ -z "$CI" ] amp;amp; exit 0
. "$(dirname $0)/_/husky.sh"
lint-staged
package.json
"scripts": {
"postinstall": "husky install"
},
Комментарии:
1. то же самое с husky 7.0.4
2. Потому
7.0.4
что я сделалnpx husky install
так, как он просил, и это сработало.
Ответ №1:
husky v5 не генерирует перехваты (не могу сказать почему)
, поэтому я понизил рейтинг до 4.3.8 и удалил .git / hooks(не обязательно):
rm -rf .git/hooks
yarn add -D husky@4.3.8
Комментарии:
1. Могу подтвердить. С
husky@5.0.9
помощью git-перехватов папка не создавалась, и при фиксации она жаловаласьhusky-run
, что ее невозможно найти. Понижение доhusky@4.3.8
сработало.
Ответ №2:
Немного поздно, но сегодня у меня тоже была эта проблема. После долгих поисков я нашел эту проблему, которая описывает проблемы с установкой, связанные с Yarn. В моем случае yarn неправильно запускал скрипт после установки из husky, и, как было рекомендовано, я обнаружил, что изменение моей postinstall
строки на это решило package.json
мою проблему:
{
"postinstall": "node ./node_modules/husky/lib/installer/bin install"
}
Я запускал и повторно запускал установку несколько раз из разных мест во время завершения моей настройки. Я нашел этот список инструкций полезным для того, чтобы убедиться, что я каждый раз сбрасывал конфигурацию git в согласованное состояние, в частности, в строке с упоминанием hooksPath
.
Ответ №3:
Вам нужно будет добавить yarn
before lint-staged
в свой .husky/pre-commit
файл:
#!/bin/sh
[ -z "$CI" ] amp;amp; exit 0
. "$(dirname $0)/_/husky.sh"
yarn lint-staged
Это из-за:
Если вы вызывали непосредственно локально установленные двоичные файлы, вам необходимо запустить их через менеджер пакетов
Более подробную информацию вы можете найти здесь и здесь . Надеюсь, это поможет 🙂