首页 > 解决方案 > 我可以在适用于 Linux 的 Azure 应用服务上使用 phantomJS 吗?

问题描述

尝试html-pdf在我的节点应用程序中使用该包时遇到一致的错误:

StatusError: Error: spawn /home/site/wwwroot/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs ENOENT

据我所知,一切都已正确安装并且npm install按预期工作。我怀疑内置 linux 映像中缺少一些依赖项,但我不确定如何确认。

标签: phantomjsazure-web-app-servicehtml-pdfnode-html-pdf

解决方案


根据来自Download PhantomJS页面的信息,Linux 发行版有两个注释,如下所示。

注意:对于这个静态构建,二进制文件是自包含的。不需要安装 Qt、WebKit 或任何其他库。然而,它仍然依赖于 Fontconfig(包fontconfiglibfontconfig,取决于发行版)。系统必须有GLIBCXX_3.4.9GLIBC_2.7

所以原生包fontconfig或者libfontconfig必须先安装在 docker 镜像中。

对于 Debian/Ubuntu 系统,可以添加RUN apt install fontconfigdocker 文件,通过命令查看安装的包是否存在dpkg -l|grep fontconfig

对于 Fedora/CentOS 系统,添加RUN yum install -y fontconfig,并检查安装在 via 上yum list installed|grep fontconfig


推荐阅读