Node.js AWS Lambda NodeJS12.x-加载共享库时出错:libXrender.so.1

Node.js AWS Lambda NodeJS12.x-加载共享库时出错:libXrender.so.1,node.js,amazon-web-services,aws-lambda,wkhtmltopdf,Node.js,Amazon Web Services,Aws Lambda,Wkhtmltopdf,我已经将lambda函数从nodejs8更新为nodejs12 wkhtmltopdf与nodejs 8配合得很好,但现在出现了以下错误: “wkhtmltopdf:加载共享库时出错:libXrender.so.1:无法打开共享对象文件:没有此类文件或目录 我曾尝试手动将librarielibxrender放入文件项目中,但不起作用 如果有人能解决如何使wkhtmltopdf在nodejs 12中的aws lambda上工作的问题,那就太好了。提前感谢您。请查看下面的存储库,了解如何在lambd

我已经将lambda函数从nodejs8更新为nodejs12

wkhtmltopdf与nodejs 8配合得很好,但现在出现了以下错误:

“wkhtmltopdf:加载共享库时出错:libXrender.so.1:无法打开共享对象文件:没有此类文件或目录

我曾尝试手动将librarielibxrender放入文件项目中,但不起作用


如果有人能解决如何使wkhtmltopdf在nodejs 12中的aws lambda上工作的问题,那就太好了。提前感谢您。

请查看下面的存储库,了解如何在lambda下使用wkhtmltopdf


我也遇到了同样的问题。最终从Amazon Linux 2图像中提取了必要的库+字体,如下所示:

1) 运行并输入Amazon Linux 2的docker容器:

docker run -it --rm amazonlinux:2.0.20191217.0
2) 在docker容器内安装必要的工具,并自动准备必要的依赖项(基于64位):

3) 打开新的termial窗口并导航到PDF lambda文件夹。使用
docker ps
命令,找到容器id并粘贴以下命令:

docker cp <CONTAINER_ID>:/deps/ . && mv deps/* . && rmdir deps
完成此操作后,只需像往常一样压缩包并进行部署


希望这有帮助

第一个和第三个链接使用了Node.js 4.3。第一个链接是我使用的,它对nodejs8有效,但就像我说的,它对nodejs12不起作用。第二个链接只是说下载二进制wkhtmltopdf,我也尝试过,但也不起作用。@vanessa,你找到没有任何解决方案来运行wkhtmltopdf吗dejs12,我也面临着和它一样的问题node8@NarendraChouhan不,我没有找到解决方案,我正在其他项目上工作。我有同样的问题。你在这期间找到了解决方案吗?我在这些步骤中有太多的lib,所以我选择了我需要的两个lib。我必须从Amazon Linux实例下载字体1./etc/fonts/usr/share/X11/fonts/Type1/usr/share/fonts,然后就可以了。这篇文章帮了我很多忙。
docker cp <CONTAINER_ID>:/deps/ . && mv deps/* . && rmdir deps
<fontconfig>
<dir>/var/task/fonts/</dir>
<cachedir>/tmp/fonts-cache/</cachedir>
<config></config>
</fontconfig>
process.env['FONTCONFIG_PATH'] = process.env['LAMBDA_TASK_ROOT'] + '/fonts'