¿Cómo solucionar el error “Error: /home/site/wwwroot/node_modules/canvas/build/Release/canvas.node: encabezado ELF no válido” en las funciones de Azure de NodeJs en Linux?
Estoy intentando desplegar AzureFunctions en NodeJs, pero no funciona en Azure.
Mi aplicación es una función v3 que se ejecuta en Linux.
Cuando se completa la implementación, obtengo este error 500:
Error:
/home/site/wwwroot/node_modules/canvas/build/Release/canvas.node:
encabezado ELF no válido
Esto sucede solo cuando hago estas importaciones:
import ChartDataLabels from ‘chartjs-plugin-datalabels’;
const canvasRenderService = new CanvasRenderService(width, height, chartCallback);
const chartCallback = (ChartJS) => {
ChartJS.register(require(‘chartjs-plugin-datalabels’))
};
const jsdom = require(“jsdom”);
const { JSDOM } = jsdom;
const { document } = (new JSDOM(...
)).window;
¿Alguien podría ayudarme por favor?
Solo funciona en mi computadora 🙁
Editar: Funciona cuando hago la implementación mediante Linux Subsystem.
Espero que esto ayude a alguien.
davy.ai
Solución de problemas de implementación para AzureFunctions en Node.js
Si está intentando implementar una solución de AzureFunctions en Node.js y se encuentra con un error 500 con un mensaje de error relacionado con el encabezado ELF no válido de
canvas.node
, puede estar relacionado con la importación del módulochartjs-plugin-datalabels
en su código.Para resolver este problema, puede probar los siguientes pasos:
Intente implementar su aplicación mediante el subsistema de Linux, ya que parece haber resuelto el problema para el remitente original.
Evite importar el módulo
chartjs-plugin-datalabels
directamente en su código. En su lugar, intente instalarlo como una dependencia de dev en su proyecto y use el nombre registrado del complemento al crear una nueva instancia deChartJS
.canvas
u otras dependencias en su proyecto o intentar construir su aplicación con una configuración de entorno diferente.Si aún no puede resolver el problema, puede consultar la documentación de AzureFunctions o buscar ayuda del equipo de soporte de AzureFunctions.