Azure DevOps | Error de versión de Node.JS al compilar

¿Problemas con los pipelines de compilación de proyectos React/Node? Si la respuesta es sí y esos problemas se vienen produciendo desde el 1 de diciembre… esta puede ser la solución.

Hace algunos días, en concreto el 1 de diciembre de 2021, comencé a tener algunos problemas en los pipelines de compilación de los proyectos de React.js debido a un problema con node-sass. Al principio, pensé en que node-sass era el origen en sí mismo del problema debido a que ya en otras ocasiones me ha dado algún que otro problema por la versión y me puse a investigar qué podría estar ocurriendo.

Después de mucho indagar y de descubrir que node-sass es considerado un plugin problemático por muchos desarrolladores, empecé a apuntar por problemas con la versión de Node pero… ¿cómo puede ser eso posible?

Pues aunque parezca «extraño», Microsoft, al igual que hace unos pocos meses actualizó la versión de los sistemas operativos de los servidores de compilación, resulta que el 1 de diciembre actualizó las versiones de Node de esos servidores y, con ello, parece que la versión de node-sass que usábamos en proyectos de hace 1 año, comenzó a fallar porque no es compatible con la nueva versión de Node.

Solución

Pues la solución a este problema de los pipelines de Azure DevOps con node-sass es bastante sencilla, tan sólo hay que añadir una tarea al job de compilación que instale la versión que necesitamos de Node.

Una vez añadida la tarea, sólo es necesario especificar la versión adecuada para que compile, en mi caso bastó con la versión 14.x

Et voilà! Una vez guardados los cambios, nuestro pipeline volverá a funcionar correctamente.

En resumen, puede resultar una buena práctica fijar la versión de node en nuestros pipelines y así no tener problemas en el futuro, aunque no debemos olvidar mantener actualizados, en la medida de lo posible los plugins y las versiones de nuestros frameworks para poder tener las mayores garantías de usar código seguro y eficiente.

Enjoy coding!