phantomjs - 我可以在适用于 Linux 的 Azure 应用服务上使用 phantomJS 吗?
问题描述
尝试html-pdf
在我的节点应用程序中使用该包时遇到一致的错误:
StatusError: Error: spawn /home/site/wwwroot/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs ENOENT
据我所知,一切都已正确安装并且npm install
按预期工作。我怀疑内置 linux 映像中缺少一些依赖项,但我不确定如何确认。
解决方案
根据来自Download PhantomJS
页面的信息,Linux 发行版有两个注释,如下所示。
注意:对于这个静态构建,二进制文件是自包含的。不需要安装 Qt、WebKit 或任何其他库。然而,它仍然依赖于 Fontconfig(包fontconfig或libfontconfig,取决于发行版)。系统必须有GLIBCXX_3.4.9和GLIBC_2.7。
所以原生包fontconfig
或者libfontconfig
必须先安装在 docker 镜像中。
对于 Debian/Ubuntu 系统,可以添加RUN apt install fontconfig
docker 文件,通过命令查看安装的包是否存在dpkg -l|grep fontconfig
。
对于 Fedora/CentOS 系统,添加RUN yum install -y fontconfig
,并检查安装在 via 上yum list installed|grep fontconfig
。
推荐阅读
- python - Python中不同形状数组的余弦距离?
- mysql - 选择嵌套选择查询的输出和输出 + 'n' 之间的所有行
- java - .class 文件中未生成 Lombok 注释
- reactjs - 如何让 window.location.reload(true) 仅重新加载正确的页面?
- angular - 在两个组件之间传递数据和计算
- javascript - 在输入中添加文本
- android - 如何提示用户从图库中选择一个文件夹来保存文件。而不是将文件直接保存到内部存储?
- django - Windows 10 上的 Apache + mod_wsgi + django 错误
- python - 跨多个实例重用 PyQt 窗口设计
- wordpress - 在单个类别的单个帖子中输出自定义字段