谬误
运行后提醒 Error: Failed to launch the browser process!
…
…
排查
github puppeteer/issues:
https://github.com/puppeteer/…
起因是零碎短少一些包,puppeteer 的文档中也有阐明:
https://github.com/puppeteer/…
解决
依照文档装置依赖包:
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 -y
重启 node 服务,仍旧报错:
Error: Failed to launch the browser process!
[0308/163337.932654:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
文档中也有提到:
https://github.com/puppeteer/…
起因是在 root 权限下关上了 Chromium,能够换角色运行 node 服务,另一种解决形式是,开启 Chromium 时传入参数:
const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox'] })
puppeteer 不倡议这么做,但我这里是测试,无所谓了,生产环境切勿这么做。
重启 node 服务,截图胜利但中文乱码,起因是,centos7 中缺失中文字体的起因。
解决缺失字体
下载安装字体即可:
- 装置字体管理工具
装置 fontconfig 来治理字体库
yum -y install fontconfig
装置完 fontconfig 时,在 /usr/shared 目录就能够看到 fonts 和 fontconfig 目录了(之前是没有的)
查看所有字体:fc-list
查看中文字体:fc-list :lang=zh
- 创立字体目录并并批改权限
创立字体目录:
mkdir /usr/share/fonts/chinese
批改字体文件的权限,使 root 用户以外的用户也能够应用:
chmod -R 755 /usr/share/fonts/chinese
- COPY 字体到 /usr/share/fonts/chinese
在 windows 的 C:\Windows\Fonts 目录下找到须要的字体,copy 到 /usr/share/fonts 目录下,这里增加雅黑和新宋体:msyh.ttc,simsun.ttc
- 建设字体索引信息,更新字体缓存
cd /usr/share/fonts/chinese
mkfontscale // 如果提醒 mkfontscale: command not found,需自行装置 # yum install mkfontscale
mkfontdir
fc-cache -fv // 如果提醒 fc-cache: command not found,则须要装置# yum install fontconfig