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

我的项目是nest+puppeteer的,但这里只记录puppeteer的问题,当然,我在windows上进行开发的时候是不出现任何问题的

部署文档

以下例子使用 ubuntu20.04,puppeteer & puppeteer-core 为 23.2.0/23.4.0
时间:2024/09/23

安装依赖

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

Could not find Chrome (ver. 128.0.6613.84). This can occur if either1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or2. your cache path is incorrectly configured (which is: /home/www/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.

如果还不行,尝试手动安装:google-chrome-stable

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' 
sudo apt update 
sudo apt install google-chrome-stable 

然后我们手动给puppeteer添加上chrome地址

const browser = await puppeteer.launch({executablePath: process.env.CHROME_PATH,
});

上面的:process.env.CHROME_PATH 可以通过以下路径获取,也就是上面安装的google-chrome-stable路径

which google-chrome-stable

到这里,理论上是没问题了,但是可能部分人运行还是有问题
我们可以试试把google-chrome-stable改成安装chromium-browser
然后路径地址填chromium-browser尝试一下问题是否还在

报错2

出现以下问题,你先看看你部署的是不是拥有图形化界面的linux,如果不是,填上:headless: true,我因为是服务器,不存在图形化界面所以仅仅是设置了这个就解决了报错问题,如果你是其他原因出现这个问题,可以尝试看看这个issue:https://github.com/puppeteer/puppeteer/issues/8148

const browser = await puppeteer.launch({headless: true
});
Failed to launch the browser process!
[8017:8017:0923/172632.836145:ERROR:ozone_platform_x11.cc(244)] Missing X server or $DISPLAY
[8017:8017:0923/172632.836187:ERROR:env.cc(258)] The platform failed to initialize.  Exiting.TROUBLESHOOTING: https://pptr.dev/troubleshooting

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148007.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MCU和YT9218交换机通过RMII连接

1、可以通过带RMII的MCU和EXT1端口连接,将MCU配置为RMII 100M/全双工就可以通 2、原先在这里改SW配置, 一直不通 3、后来通过api调用可以通 这样改: 在初始化后,添加下面代码 //使能RMII,phy模式 #define Port5 …

pycharm安装教程,超详细

引言 PyCharm官网提供了两个版本,第一个版本是Professional(专业版本),这个版本功能更加强大,主要是为Python和web开发者而准备,是需要付费的。第二个版本是社区版(Community)&…

10月23-27日六西格玛绿带公开课即将在雄安新区开课

在金秋送爽、硕果累累的季节里,天行健管理咨询公司宣布了一项重要决定——定于10月23日至27日,在充满未来气息的河北雄安新区,举办一场旨在提升企业质量管理水平、培养精英人才的六西格玛绿带公开课。此次课程的举办,不仅是对当前…

LeetCode 每日一题 ---- 【1014. 最佳观光组合】

LeetCode 每日一题 ---- 【1014. 最佳观光组合】 1014.最佳观光组合题解:枚举右 维护左 1014.最佳观光组合 题解:枚举右 维护左 先对题目中的式子进行变形 values[i] values[j] i - j > (values[i] i) (values[j] - j) 枚举右端点 j&#xf…

活动报名| 探索存内计算的未来,共话AGI时代

活动日期:2024年09月28日 下午一点到6点 地点:杭州技术转移中心 三楼路演厅 议程亮点: 存内计算技术架构以及最新趋势AGI开源项目交流存内计算实操上板体验 存内计算 ——突破物理极限的下一代算力技术 直接消除“存”“算”界限&…

2024/9/22周报

文章目录 摘要Abstract可能的数据结构数据集结构 数据处理步骤数据集示例人工智能模型应用关键评估目标评价指标分类应用实例最终目标多目标优化的基本概念1. Pareto最优解(Pareto Optimality)2. 目标权重法(Weighted Sum Method)…

二.python基础语法

目录 1.第一个python实例 2.python编码规范 2.1.编写规则 2.2.命名规范 2.3. 空格 2.4. 缩进 2.5. 注释 3.python关键字和标识符 3.1.标识符 3.2.关键字 4.python变量 4.1. 定义变量 4.2. 变量类型是可变的 4.3. 多个变量指向同一个值 5.python基本数据类型 5.…

基于vue框架的传统文化传播网站设计与实现f7r43(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,文化类型,传统文化 开题报告内容 基于Vue框架的传统文化传播网站设计与实现开题报告 一、研究背景 在全球化加速的今天,各国文化相互交融,但也面临着传统文化被边缘化的风险。中国拥有五千年文明史&#…

ai绘画工具Playground v3:重新定义AI图像生成

Playground AI是一款免费的在线AI绘画工具,它使用深度学习技术帮助用户将文字和图片转换成高质量的图像,非常适合创作艺术作品、社交媒体内容、演示文稿、海报、视频和logo等。这个工具不仅支持文生图和图生图,还提供图像编辑功能&#xff0c…

2024年找工作怎么这么难?网工该何去何从?

2024年,找工作对很多人来说都变得更加艰难,网络工程师也不例外,仿佛是寒冬一般。 招聘岗位数量骤减,求职竞争加剧,很多人在职场上感受到前所未有的压力。 你可能觉得这是行业的末日,但实际上,这…

论文集搜索网站-dblp 详细使用方法

分享在dblp论文集中的两种论文搜索方式:关键字搜索,指定会议/期刊搜索。 关键字搜索 进入dblp官方网址dblp: computer science bibliography,直接在上方搜索栏,搜索关键字,底下会列出相关论文。 指定会议/期刊搜索 …

postgres导入sql文件的方法

首先,要打开CMD,cd到postgreSQL的bin路径 在下面这个例子里,player是数据库名称,postgres是用户名 添加完成之后,打开客户端 可以看到所有表已经全部导入

基于ssm框架的博客系统

基于ssm框架的博客系统的开发 ssm640基于ssm框架的博客系统的开发vue 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框…

如何着手创建企业数据目录?(四)数据质量与标准化

前文导读: 《如何着手创建企业数据目录?(一)数据目录的设定》 《如何着手创建企业数据目录?(二)数据的命名与维护》 《如何着手创建企业数据目录?(三)权限管理…

顶会创新点速递!强化学习+注意力机制,发文香饽饽!

强化学习结合注意力机制的研究在学术界和工业界都引起了广泛关注,因为它能显著提升模型处理复杂任务的效率和准确性,迅速成为了各大顶会的投稿热门。目前,强化学习注意力机制主要有三大研究方向:状态表示、动作选择、奖励预测。 …

2012-2019全球地表平均夜光年度数据

数据详情 2012-2019全球地表平均夜光年度数据 数据属性 数据名称:全球地表平均夜光年度数据 数据时间:2012-2019 空间位置:全球 数据格式:tif 空间分辨率:1500米 时间分辨率:年 坐标系:…

SD教程:一键将真人照片转成插画风格头像,秒变二次元动漫主角~

大家好,我是灵魂画师向阳 如今AI技术日益成熟,今天给大家分享一个用AI绘画工具StableDiffusion制作真实头像转插画的教程,废话不多说,上操作。 本期教程我们将以SD为作图工具,如果你还没有安装使用过AI绘画工具Stable…

Java中的事件(动作监听-ActionListener)

(一)、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件,例如:按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法,该方法会在动作发生时被调用。 &#…

【波束管理】

波束管理 5G的三大场景eMBBURLLCmMTC 波束赋形MIMO初始波束建立 5G的三大场景 eMBB 即“增强移动带宽”。 就是以人为中心的应用场景,集中表现为超高的传输速率,广覆盖的移动性保证等。 这是最直接改善移动网速,未来更多的应用对移动网速的…

ssl证书中,什么是根证书,中间证书,证书连又是什么

在 SSL/TLS 证书体系中,根证书(Root Certificate)、中间证书(Intermediate Certificate)、证书链(Certificate Chain)都是至关重要的概念,它们构成了整个证书验证的体系结构&#xf…