在用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']});
分享到:
相关推荐
Centos8安装Oracle 19C RAC超级手册
CentOS 8 安装图解
Centos8安装WPS
mysql8 centos离线安装
centos8安装zabbix全套
centos7.0安装mysql centos7.0安装mysql centos7.0安装mysql
centos8安装容器.docx
CentOS8安装KVM虚拟机详解.docx
gbase8s centos8 以上安装
centos8安装hadoop3.3.docx
Centos8离线安装mariadb(10.3.28)的所有依赖包(RPM)
在CentOS 8 上安装Jenkins需要使用root账号或具有sudo权限的账号。因为Jenkins是使用Java编写的,所以需要安装Java环境 1、安装OpenJDK。 sudo dnf install java-1.8.0-openjdk-devel 2、启用Jenkins存储库。运行...
CentOS7安装Git
CentOS 7 安装 MySQL
CentOS7安装指南
centos8安装kafka_2.11-2.4.1.docx
使得Cacti的安装相比Centos7更简单,脚本的功能是在Centos8上一键安装cacti1.2.7。准备一台centos8的主机,所有文件放在/root目录,使用root账号安装,期间需要输入: 数据库root及cacti的用户密码、本机snmp团体字 ...
centos6.7安装jdk1.8全部详细过程,若有疑问,欢迎联系!
本文档是MySQL官方文档,内容是如何在Centos7环境下用yum工具安装MySQL8。
centos 7.6安装流程下载详细安装过程,在网上看到特别好的教程,很好地解决了小白的问题,为此特意记录下来了。附件如下:centos 7.6安装流程.docx