TL: DR
Gulp 3.*
no funciona en Node 12.*
o superior. Tienes que degradar Node o actualizar Gulp.
Si tiene poco tiempo, baje el Nodo a v11. * O inferior; Si necesita funciones más nuevas y tiene tiempo para arreglar una carga de dependencias rotas, actualice Gulp a 4. * o superior.
Como otros ya han mencionado, Gulp 3.*
no es compatible con Node 12
o superior, por lo que tendrá que degradar su versión de Node ao 11.*
inferior, O actualizar su Gulp a 4.0
.
La mejor opción depende en última instancia de cuánto tiempo tenga, ya que la actualización de Gulp brinda los beneficios de los archivos Gulpfiles más limpios y el control incorporado sobre la ejecución de tareas en serie o en paralelo , pero también depende de que vuelva a escribir su archivo Gulpfile en una nueva sintaxis, y podría (leer: probablemente lo hará - ver el final de este comentario) causar conflictos con algunas dependencias.
Nodo de degradación
Esta es la opción más fácil y rápida. Especialmente si usa n o nvm , ya que le permiten una instalación muy rápida y cambiar entre versiones de Nodo.
Instalación de la versión Node en N
n 10.16.0
Instalación de la versión de nodo en NVM
nvm install 10.16.0
Una vez que haya hecho esto, es posible que deba reconstruir sus dependencias npm o, alternativamente, eliminar su node_modules
carpeta Y su package-lock.json
archivo y volver a instalar sus dependencias. Aunque si simplemente está volviendo a una versión de Nodo preexistente, probablemente debería estar bien.
Gulp de actualización
Como se mencionó anteriormente, esta es una tarea que requiere más tiempo, pero que podría traer beneficios a largo plazo. Por ejemplo, Node 12
ahora ha introducido soporte nativo para módulos ES (detrás de un indicador experimental) y soporte completo en Node 13
.
Es posible que necesite actualizar Node para usar eso, lo que le obliga a actualizar Gulp. O simplemente puede querer los beneficios de usar Gulp 4, ya que ofrece un control mejor y más eficiente sobre las tareas de escritura.
Ya hay una serie de artículos sobre esto, por lo que no profundizaré más en los detalles, pero para reiterar, este no es un trabajo rápido . Dependiendo del tamaño de su proyecto, puede ser necesario reescribir notablemente, y puede tener dependencias que se rompen. Si tiene poco tiempo, debe optar por simplemente degradar Node, al menos temporalmente.
Pero ya tengo Gulp 4, ¡y todavía no funciona!
Si, como yo, ya está usando Gulp 4+ (estaba usando Gulp 4.0.2
, originalmente en el Nodo 10) y recientemente me actualicé (actualicé Node 13.8.0
) si todavía tiene el problema, puede ser porque una dependencia depende de un versión anterior de Gulp, y eso se está quedando atrapado en la tubería.
En mi caso, gulp-combine-mq
era una dependencia usando Gulp 3.9.*
. Deshabilitar esta tarea en mi archivo de trago permitió que Gulp volviera a ejecutarse.
Si esto sucede, tiene algunas opciones: puede,
- Vaya sin el complemento si no es absolutamente necesario
- Encuentra una alternativa,
- Repara el complemento
No es necesario decir que si tiene varios complementos que dependen de una versión anterior de Gulp, especialmente si estos complementos son vitales para su aplicación, aquí es donde puede pasar una gran cantidad de tiempo adicional en la actualización de Gulp (de ahí las advertencias anteriores).
Si esto sucede, es mejor degradar Node, al menos hasta que se puedan emitir parches.