NodeJS 如何修复“错误:/home/site/wwwroot/节点模块/画布/构建/发布/画布.节点:Linux中NodeJ的Azure功能上的ELF标头”无效?

kxeu7u2r  于 2022-11-03  发布在  Node.js
关注(0)|答案(2)|浏览(204)

我正在尝试在NodeJs中部署AzureFunctions,但它在Azure上不起作用。我的应用程序是在Linux上运行的v3函数。
部署完成后,我收到此500错误:
错误:/home/site/wwwroot/node_modules/canvas/build/版本/canvas.节点:ELF标头无效
它的发生只有在我这样做的时候才会进口:

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;

谁来帮帮我?
英译汉它(只)在我的机器上工作
编辑:当我通过Linux子系统进行部署时,它可以工作。我希望这对一些人有帮助。

8ftvxx2r

8ftvxx2r1#

Azure函数在*将*部署到Azure中时将不包括Node_modules。因为Node_modules目录包含非常大的文件。你可以在函数目录中包括你的package.json,并使用Kudu(https://<function_app_name>.scm.azurewebsites.net )或Azure门户中的控制台像处理Node.js项目一样正常运行npm install

有关详细信息,请查看依赖关系管理。
请参阅此处Link 1Link 2

ddrv8njm

ddrv8njm2#

这个主题有什么更新吗?对我来说,通过KUDU或其他终端在云功能应用程序中手动运行npm安装似乎不是一个有效的选项-特别是与Continues部署等。
在使用画布生成条形码时遇到了同样的问题...

相关问题