puppeteer部署到linux环境

2020-08-30

最近利用puppeteer实现了定时生成网站静态html的功能,需要部署到linux环境下,踩了一些坑,所以做了以下记录。

ubuntu安装google chorme

下载 .deb 安装包后直接安装即可

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo apt install ./google-chrome-stable_current_amd64.deb

更新google chorme版本

如果需要更新本地的google chorme,通过以下命令即可

sudo yum update google-chrome-stable

启动google chorme报错

error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

这是由于缺失 libXss.so 库,只需要安装即可 

sudo yum install libXss.so.1

启动puppeteer服务

启动puppeteer服务代码如下

const browser = await puppeteer.launch({
  headless: true,
  defaultViewport: null,
  timeout: 0,
  ignoreHTTPSErrors: true
});

在运行脚本,报了以下错误

这个是由于缺少了运行chorme内核相关的库,解决方法如下

sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

 安装完成相关依赖后,运行后还是报错。。。

UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!

 解决方法新增 --no-sandbox 即可

const browser = await puppeteer.launch({
  headless: true,
  defaultViewport: null,
  timeout: 0,
  ignoreHTTPSErrors: true,
  args: [
    '--no-sandbox',
  ],
});

window环境下puppeteer安装

在window安装puppeteer后一直提示 

Chromium revision is not downloaded. Run "npm install" or "yarn install"

只需要运行

node node_modules/puppeteer/install.js

 

本文为原创,未经授权,禁止任何媒体或个人自媒体转载
商业侵权必究,如需授权请联系340443366@qq.com
标签: reactjs 服务器

评论

Loading...

最新评论

相关推荐

bash正则获取字符串
在写bash命令的时候,有时候需要操作字符串,提取匹配的内容,然而shell里面操作正则的资料比较少,所以做下记录,有两...
React useMemo实战
useMemo hooks介绍 useMemo hooks的语法如下 const memoizedValue = ...
nginx日志配置
在使用nginx时候,我们经常需要查看对应的请求日志记录或者错误日志记录,nginx日志分两种,分别是访问日志和错误日志...
scroll-top-icon