最代码广告位
824778464的gravatar头像
8247784642020-07-31 16:33:00
关于在内网CentOS7上使用puppeteer

项目描述

首先说明文本并不是代码分享,而是部署时的资源分享。

最近项目上线碰到的尴尬问题。项目中有将页面转换为PDF的需求,我使用了express+puppeteer,但是在部署时,客户服务器是一台纯内网服务器,不允许连接任何外网,即使是SSH远程,也是先连接的前置机再接入。

本以为在开发环境上把所有npm包都装好,打包后部署到服务器上使用。结果在服务器上一调用截图方法,出现下面错误:

Error: Failed to launch the browser process!
/home/centos/[......]/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

查询了一下原因,判定出现这个错误是由于基础操作系统缺少lib库导致,必须安装一些rpm包。尤其是puppeteer依赖的chromium,更是要安装很多lib库。在工程目录下运行ldd命令可以查看需要哪些包:

ldd node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome |grep not

好在所有lib库都可以在pkgs上查询到(https://pkgs.org/),但问题是这些包安装时可能还依赖其他的包,需要反复的尝试安装、下载、上传过程,而且pkgs偶尔下载会0kb/s,虽然没有技术难度,但十分耗时。最终实际安装70多个包。

我把我的服务器上使用puppeteer时需要安装的所有rpm都整理了一下,希望可以帮助到遇到同样问题的人,节约部署的时间。

运行环境

Linux CentOS7 x86_64

项目技术

由于本文不分享代码,就不写技术了,会用rpm命令就可以了

依赖包文件

链接: https://pan.baidu.com/s/1LskOwxcYgAJq_70uSf7Qzw 提取码: tcn8

是否原创

原创

项目截图

关于在内网CentOS7上使用puppeteer

运行截图

关于在内网CentOS7上使用puppeteer

关于在内网CentOS7上使用puppeteer

注意事项

仅针对操作系统为CentOS7的x86_64版本。由于操作系统环境不同,安装这些后可能你还需要下载额外的包,但我这份文件至少包含90%以上的内容,可以节省大量时间。

也可以在互联网环境上通过yum --downloadonly下载,但是也不是一个命令搞定,还是要上传、安装、测试。用我下载好的这些至少节约4小时时间吧。

批量安装命令

rpm -Uvh --force --nodeps *rpm

安装过程有其他问题可以加最代码群

 


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
ldc199375 LV10昨天
月亮月亮星星星星
amour1 LV411月10日
月亮
安心猪 LV29月30日
星星星星
易拉罐 LV89月30日
月亮月亮
张晨曦 LV49月29日
月亮
487948123 LV79月14日
月亮星星星星星星
yao709476133 LV29月10日
星星星星
莉莉安 LV29月10日
星星星星
luzicheng LV119月7日
月亮月亮星星星星星星
li837437513 LV139月5日
月亮月亮月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友