Estoy configurando un gancho de confirmación previa en un proyecto electrónico existente (en Windows) usando Husky (7.0.0). Para instalar Husky seguí la documentación ( aquí ) y la carpeta .husky se creó correctamente con los dos archivos: husky.sh
#!/bin/sh if [ -z "$husky_skip_init" ]; then debug () { if [ "$HUSKY_DEBUG" = "1" ]; then echo "husky (debug) - $1" fi } readonly hook_name="$(basename "$0")" debug "starting $hook_name..." if [ "$HUSKY" = "0" ]; then debug "HUSKY env variable is set to 0, skipping hook" exit 0 fi if [ -f ~/.huskyrc ]; then debug "sourcing ~/.huskyrc" . ~/.huskyrc fi export readonly husky_skip_init=1 sh -e "$0" "$@" exitCode="$?" if [ $exitCode != 0 ]; then echo "husky - $hook_name hook exited with code $exitCode (error)" fi exit $exitCode fiy compromiso previo:
#!/bin/sh . "$(dirname "$0")/_/husky.sh" npm testAsí que ahora, antes de confirmar, debe ejecutarse el script de prueba (el script de prueba consiste simplemente en ejecutar jest, es decir, "test":"jest"). Pero cuando ejecuto git commit (desde la terminal) falla con esta salida: salida de la consola . El mensaje de error indica que git no puede encontrar el nodo, pero lo que parece realmente extraño son las dos primeras líneas de la salida, que sugieren que jest realmente se ejecuta. Estoy usando el nodo 18.0.0 (administrado a través de nvm-windows) y npm 7.24.2 (estos dos están confirmados tanto en la terminal de Windows como en git bash ). La ruta al nodo ya está en mi variable de entorno $PATH. Por favor, avíseme si puedo agregar algún detalle.
Eso se informó antes ( typicode/husky problema 980 ), refiriéndose a la documentación " Comando no encontrado "
Si su contenido ~/.huskyrc es correcto, se debe establecer la ruta.
Verifique que esté reemplazando, en su confirmación previa, npm test por echo $Path (inspirado en el problema 462 ).
Encontré mi problema, tenía comillas dobles en mi lista de variables de entorno que invalidaba todas las siguientes rutas (entre las cuales estaba la ruta nodejs). Para entender esto, ejecuté manualmente los comandos a través de git bash y enumeré la variable PATH env. De todos modos, todavía hay algo que no puedo entender, en git bash si ejecuté npm -v mostró la versión correcta del nodo, pero intentar ejecutar otros comandos provocó un error