关于puppeteer项目部署到ubuntu报错记录

打印 上一主题 下一主题

主题 902|帖子 902|积分 2708

我的项目是nest+puppeteer的,但这里只记录puppeteer的问题,固然,我在windows上举行开发的时候是不出现任何问题的
部署文档

以下例子利用 ubuntu20.04,puppeteer & puppeteer-core 为 23.2.0/23.4.0
时间:2024/09/23
安装依赖

  1. apt-get install ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 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 lsb-release wget xdg-utils -y
复制代码
正常情况下安装完依赖后,就可以直接部署上了,部分系统可能有破例,需要额外举行以下操作,因此有了这个文档
额外设置

如果你出现了以下报错,代表可能没有自动安装chrome,可以尝试
   node node_modules/puppeteer/index.mjs
or
npx puppeteer browsers install chrome@xxx
  报错1

  1. Could not find Chrome (ver. 128.0.6613.84). This can occur if either
  2. 1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or
  3. 2. your cache path is incorrectly configured (which is: /home/www/.cache/puppeteer).
  4. For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
复制代码
如果还不行,尝试手动安装:google-chrome-stable
  1. wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  2. sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
  3. sudo apt update
  4. sudo apt install google-chrome-stable
复制代码
然后我们手动给puppeteer添加上chrome地址
  1. const browser = await puppeteer.launch({
  2.         executablePath: process.env.CHROME_PATH,
  3. });
复制代码
上面的:process.env.CHROME_PATH 可以通过以下路径获取,也就是上面安装的google-chrome-stable路径
  1. which google-chrome-stable
复制代码
到这里,理论上是没问题了,但是可能部分人运行照旧有问题
我们可以试试把google-chrome-stable改成安装chromium-browser
然后路径地址填chromium-browser尝试一下问题是否还在
报错2

出现以下问题,你先看看你部署的是不是拥有图形化界面的linux,如果不是,填上:headless: true,我因为是服务器,不存在图形化界面所以仅仅是设置了这个就解决了报错问题,如果你是其他原因出现这个问题,可以尝试看看这个issue:https://github.com/puppeteer/puppeteer/issues/8148
  1. const browser = await puppeteer.launch({
  2.         headless: true
  3. });
复制代码
  1. Failed to launch the browser process!
  2. [8017:8017:0923/172632.836145:ERROR:ozone_platform_x11.cc(244)] Missing X server or $DISPLAY
  3. [8017:8017:0923/172632.836187:ERROR:env.cc(258)] The platform failed to initialize.  Exiting.
  4. TROUBLESHOOTING: https://pptr.dev/troubleshooting
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表