Я работаю над проектом, который зависит от Husky. Когда я пытаюсь зафиксировать изменения или переключить ветку на GitHub Desktop, я получаю эту ошибку:
2022-11-16T12:18:08.885Z - error: [ui] `git commit -F -` exited with an unexpected code: 1.
stderr:
/c/Users/user/AppData/Roaming/npm/yarn: line 5: cygpath: command not found
node:internal/modules/cjs/loader:988
throw err;
^
Error: Cannot find module 'C:\Users\user\AppData\Local\GitHubDesktop\app-3.1.2\resources\app\git\node_modules\yarn\bin\yarn.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
at Module._load (node:internal/modules/cjs/loader:833:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
Node.js v18.10.0
husky - pre-commit hook exited with code 1 (error)
ОС: Windows 10 Pro
Рабочий стол GitHub: версия 3.1.2
Git: версия 2.38.0.windows.1
Если я использую git из Powershell, все работает нормально.
Так что проблема в том, что нет C:\Users\user\AppData\Local\GitHubDesktop\app-3.1.2\resources\app\git\node_modules\yarn\bin\yarn.js
Мое первое предположение заключается в том, что в папке git
нет инициализированного npm. Давай проверим:
1- Откройте Powershell
2- Введите cd C:\Users\user\AppData\Local\GitHubDesktop\app-3.1.2\resources\app\git
, чтобы установить каталог
3- Введите explorer .
, чтобы просмотреть папку в проводнике.
Итак, мы не видим ни node_modules
, ни package.json
, ни package-lock.json
. Это означает, что npm не инициализирован в этом текущем каталоге.
Чтобы добавить недостающие ...\git\node_modules\yarn\bin\yarn.js
:
1- Запустите npm init
, чтобы инициализировать npm в каталоге.
2- Запустите npm i yarn
, чтобы добавить зависимость пряжи в текущий каталог.
Таким образом, мы добавили недостающий файл ...\git\node_modules\yarn\bin\yarn.js
.
Теперь все работает нормально!
Вот строчка, которая бросается в глаза:
cygpath: command not found