Configuré un proyecto de nodo con husky, pero cuando mi colega intenta ejecutar npm install en su Mac, recibe el siguiente error:
noa-be@1.0.0 prepare husky install sh: husky: command not found npm ERR! code 127 npm ERR! path /Users/X/Desktop/Workspace/project npm ERR! command failed npm ERR! command sh -c husky install npm ERR! A complete log of this run can be found in: npm ERR! /Users/X/.npm/_logs/2021-04-12T13_07_25_842Z-debug.logEstas son las partes relevantes de package.json:
{ "scripts": { "prepare": "husky install" }, "devDependencies": { "husky": "^5.2.0", } } Pensé que esto sería suficiente para instalar husky al ejecutar npm install , pero no lo es. ¿Qué me estoy perdiendo?
Creo que podría ser un problema específico de la versión. Instale la versión 6, npm i husky@6.0.0 --save-dev , y debería funcionar como dice el documento de husky .
Aparentemente, cuando hice npm i husky --save-dev , estaba instalando "husky": "^0.8.1" para mí por alguna extraña razón, dándome exactamente el mismo error: sh: husky: command not found .
Método 1:
Actualice manualmente, en su package.json :
{ "scripts": { "prepare": "husky install", "create-hook": "husky add .husky/pre-commit \"npm test\"", } } Luego, ejecute npm run prepare && npm run create-hook .
Debería crear el directorio .husky con el archivo .pre-commit en él.
Método 2:
npx husky install
npm set-script prepare "husky install"
npx husky add .husky/pre-commit "npm test"
Pude resolver el problema actualizando a la última versión de Husky (7.0.1, desde 5.2.0).
Git también fue útil y me dijo que los archivos no eran ejecutables. (Git V 2.24.1)
Así que les doy derechos ejecutables:
chmod +x PATH_TO_HUSKY_FILEDeberá ejecutar este comando para cada enlace.
Estuve luchando con el mismo problema durante horas. Finalmente, pude instalar dependencias y comenzar a trabajar en mi proyecto haciendo esto:
"prepare": "husky install" del archivo package.json.npm i ( npm install ). Dependencias instaladas con éxito."prepare" que eliminó en el paso 1.npm i para instalar los husky git hooks, de modo que husky pueda hacer su trabajo a partir de ahora.Este error también lo npm ci si NODE_ENV está configurado como preinstalación de "producción".