CentOS7服务器上Puppeteer启动报错

今天写了一个查询12306候补车票的小程序,在本地运行良好,准备放到服务器上跑,但当部署到CentOS服务器上后,启动应用却发生了如下报错:

Error: Failed to launch chrome!

可以看到报错内容是缺少依赖,需要安装依赖,经过到官方Issues查询得到需要安装的依赖如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pango.x86_64
libXcomposite.x86_64
libXcursor.x86_64
libXdamage.x86_64
libXext.x86_64
libXi.x86_64
libXtst.x86_64
cups-libs.x86_64
libXScrnSaver.x86_64
libXrandr.x86_64
GConf2.x86_64
alsa-lib.x86_64
atk.x86_64
gtk3.x86_64
ipa-gothic-fonts
xorg-x11-fonts-100dpi
xorg-x11-fonts-75dpi
xorg-x11-utils
xorg-x11-fonts-cyrillic
xorg-x11-fonts-Type1
xorg-x11-fonts-misc

一个一个安装太麻烦,全部安装的命令:

1
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc

同时,还有一个注意事项,当使用root用户启动时,需要设置 –no-sandbox 属性。

如果不设置会报如下错误:

Running as root without --no-sandox is not supported

解决方案:

1
2
3
4
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox']
})

Linux上安装程序时,经常会碰到各种依赖问题,非常头疼,如何快速定位依赖缺失,并安装相关依赖呢,计划有时间写一写。

文章作者: 普通程序员
文章链接: https://programmerauthor.github.io/2020/01/08/puppeteer-install/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 普通程序员