总而言之就是,确实什么.so文件就安装什么,最后启动记得加上 args: ['--no-sandbox']
1.error while loading shared libraries: libatk-bridge-2.0.so.0
解决:yum install at-spi2-atk -y
2.error while loading shared libraries: libXss.so.1
解决:yum install libXScrnSaver* -y
3.error while loading shared libraries: libgtk-3.so.0
解决:yum install gtk3 -y
在安装完成后,我们可以到安装目录下的chrome-linux/chrome去查看那些依赖未安装。比如我的这个目录在/usr/local/vue-pdf/vue-pdf/node_modules/_puppeteer@2.1.1@puppeteer/.local-chromium/linux-722234中,我可以切换到该目录中,并查看。
cd /usr/local/vue-pdf/vue-pdf/node_modules/_puppeteer@2.1.1@puppeteer/.local-chromium/linux-722234/chrome-linux
## 查看
ldd chrome | grep not
1
2
3
4.[0701/103031.227465:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported
解决:配置启动项browser = await puppeteer.launch({
args: ['--no-sandbox'],
headless: true
});
这篇博客介绍了在CentOS7上使用Puppeteer时遇到的错误,如缺失libatk-bridge-2.0.so.0、libXss.so.1和libgtk-3.so.0等库文件,以及如何通过yum安装这些依赖。此外,还提到了由于以root权限运行Puppeteer导致的'--no-sandbox'错误,并提供了在启动配置中添加'--no-sandbox'参数的解决方案。
1534

被折叠的 条评论
为什么被折叠?



