`
learnmore
  • 浏览: 588617 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

centos8 安装puppeteer

阅读更多
在用centos8安装puppeteer过程中遇到了不少的坑
首先我用的是官网教程,地址如下:
https://github.com/puppeteer/puppeteer
按照官网说的把node装上,node版本v6.4.0,执行npm i puppeteer,满怀期待,但情况不是我想象的样子,卡在node index.js动不了,被墙了..
查资料,原来可以替换成阿里的puppeteer源
npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
替换完,执行npm i puppeteer 飞一般的感觉,按官网的例子写一个js文件node xx.js开始执行,报错:libX11-xcb.so.1: cannot open shared object file: No such file or directory
既然没有这个包,我直接yum install libX11-xcb.so.1 安装之后,执行还是报这个错,官网有一个依赖列表我把官网的centos依赖列表执行一遍,还是报这个错,我去,打击人啊这是。
折腾来折腾去就是不行,先到npm安装chrome的位置查一下到底缺哪些依赖
cd xxx/node_modules/puppeteer/.local-chromium/linux-756035/chrome-linux
执行ldd chrome | grep not
可以看到缺少的依赖有哪些,其中就有我上面报错的那个信息libX11-xcb.so.1,但是知道缺哪些依赖还是无法正常安装这些依赖

后来查到一位网友说可以反向查找某个文件的安装包是哪个

yum  whatprovides  */libX11-xcb.so.1  /*查找libX11-xcb.so.1是通过哪个安装包来提供的
按照提示,找到x64位对应的安装包,yum 安装,哎哟,这个包终于装好了,报错信息终于不一样了,我终于可以往前走一步了,后面按照相同的方法,反向查找对应的安装包,yum安装,最后执行node xx.js终于没有报错了,到目录下面找到了截图的文件,泪流满面!
对了,xx.js这个官网例子我还加了
const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics