centos部署安装puppeteer
# 概况
开发环境(windows)可以正常使用puppeteer进行工作, 将代码部署到服务器中, 发现页面报错, 查看日志后
Error: Failed to launch chrome! spawn /app/server/node_modules/puppeteer/.local-chromium/linux-706915/chrome-linux/chrome ENOENT
TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/app/server/node_modules/puppeteer/lib/Launcher.js:348:14)
at ChildProcess.<anonymous> (/app/server/node_modules/puppeteer/lib/Launcher.js:339:64)
at ChildProcess.emit (events.js:203:13)
at ChildProcess.EventEmitter.emit (domain.js:476:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:77:11)
# 分析
应该是puppeteer在centos中还要装什么东西!
经过网上查找,有几个答案
- 设置参数 handless要为true或者不设置,不能为false
const browser = await puppeteer.launch({
args: ['--no-sandbox', '--disable-setuid-sandbox'],
});
- puppeteer安装不了, 换淘宝代理安装
我按以上步骤去实施,还是不行,继续搜索,找更多的原因
深入就会有发现
ldd node_modules/_puppeteer@2.0.0@puppeteer/.local-chromium/linux-706915/chrome-linux/chrome
ldd 分析依赖关系
经过分析缺少很多依赖
那怎么安装依赖呢?
# 解决
- 安装chrome自动解决这些依赖
- 安装chrome
//path: /etc/yum.repos.d/gool-chrome.repo
[google-chrome]
name=google-chrome - \$basearch
baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
- yum install google-chrome-unstable --nogpg
- 安装完毕
# 参考
上次更新: 2021/12/19, 18:05:42