CentOS 7 安装 Puppeteer Google Chrome

news/2024/11/14 21:03:29/

由于需要使用到了 Puppeteer 功能,安装了多次失败而告终。最终找到了一个可以安装成功的方式,特此记录下来。

安装 Puppeteer

需要注意 Node.js 版本,我使用的是 16.x

cnpm i puppeteer

安装 Google Chrome

这里需要注意的一下是,一般情况下我们使用 npx puppeteer browsers install chrome 命令即可安装成功,但是我在安装中出现了以下问题

node:fs:1583handleErrorFromBinding(ctx);^Error: EACCES: permission denied, stat '/root/.config/puppeteer'at Object.statSync (node:fs:1583:3)at isDirectorySync (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/util.js:88:35)at search (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/ExplorerSync.js:47:47)at emplace (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/util.js:36:20)at search (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/ExplorerSync.js:71:50)at emplace (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/util.js:36:20)at search (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/ExplorerSync.js:71:50)at emplace (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/util.js:36:20)at search (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/ExplorerSync.js:71:50)at emplace (/app/bookstack/node_modules/.store/cosmiconfig@9.0.0/node_modules/cosmiconfig/dist/util.js:36:20) {errno: -13,syscall: 'stat',code: 'EACCES',path: '/root/.config/puppeteer'
}

指定了 --user-data-dir= 还是同样的问题,还是出现权限不足。

这可能是由于环境变量 HOME 未正确设置所致。您可以尝试手动设置 HOME 环境变量来解决这个问题。

export HOME=/app/aaa

运行 puppeteer 安装命令

npx puppeteer browsers install chrome --user-data-dir=/app/aaa/.config/puppeteer

此时 Google Chrome 安装成功。

Google Chrome 安装成功了,但是还是无法使用,出现新的问题

/app/aaa/puppeteer/chrome/linux-124.0.6367.78/chrome-linux64/chrome: error while loading shared libraries: libatk-bridge-2.0.so.0: cannot open shared object file: No such file or directory

安装 at-spi2-atk

yum install at-spi2-atk -y

如果出现以下错误

/app/aaa/puppeteer/chrome/linux-124.0.6367.78/chrome-linux64/chrome: error while loading shared libraries: libxkbcommon.so.0: cannot open shared object file: No such file or directory

安装 libxkbcommon

yum install libxkbcommon -y

安装字体

yum groupinstall "fonts" -y

需要注意的是,如果您替换了 yum 源,那么这些依赖会出现找不到的情况,使用 rpm -Uvh --force http://mirror.centos.org/centos-7/7.9.2009/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm 恢复默认源
不建议替换默认源,会出现一些不必要的问题。


http://www.ppmy.cn/news/1445095.html

相关文章

介绍一个在数据分析中常用的函数:data.iloc[]

平时处理数据集中,总是需要选中一些列的数据,去预测其他列的数据,所以data.iloc[],在数据分析中显得尤为方便。 介绍一下data.iloc[] data.iloc[] 是 Python 中 pandas 库的一个非常有用的功能,它允许你通过行和列的…

windows上通过定时任务提交新增文件到SVN(bat双击可执行,但是通过定时任务后无法提交到svn)

这个要必须记录一下了,因为折腾了蛮久断断续续加起来花费的有一天多时间。因为这个跟上篇定时备份是一个事来的,备份完了不可能留在跟数据库相同的机器吧,这样的话也起不到备份的作用啊,所以就想着让它每天去定时备份,…

【算法每日一练】动态规划,图论(换根dp)会议 ,医院设置

目录 题目: 会议 思路: 题目:医院设置 思路: 题目: 会议 思路: 首先,阅读题目可以看出来,这道题目实际上就是求树的重心。 树的重心: 定义:找到一个点&a…

ES全文检索支持拼音和繁简检索

ES全文检索支持拼音和繁简检索 1. 实现目标2. 引入pinyin插件2.1 编译 elasticsearch-analysis-pinyin 插件2.2 安装拼音插件 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4. 建立es索引5.测试检索6. 繁简转换 1. 实现目标 ES检索时…

AI系列:大语言模型的RAG(检索增强生成)技术(上)

前言 大型语言模型(LLM)虽然在生成文本方面表现出色,但仍然存在一些局限性:数据是静态的,而且缺乏垂直细分领域的知识。为了克服这些限制,有时候会进行进一步的模型训练和微调。在实际应用中,我…

商超物联网方案-人员和资产管理配置指南~配置人员和资产管理示例

配置人员和资产管理示例 组网图形 图1 配置人员和资产管理示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 某商场经常发现资产遗失或寻找不到。为降低财产损失,商场希望能统一监控资产所在位置和移动路径,以便掌握…

【Redis 开发】Redis分片集群

分片集群 分片集群搭建分片集群 散列插槽集群伸缩故障转移RedisTemplate访问分片集群 分片集群 在我们使用哨兵进行高并发读的问题,但是还有海量数据存储,高并发写的问题,使用分片集群可以解决: 特征: 集群中有多个master,每个m…

一款非常不错的音频录制播放Python库

声音无处不在,在计算机应用中也是。Python拥有丰富的库来处理声音,sounddevice就是其中一个非常实用的库。本文将介绍sounddevice库的特点、工作原理以及使用方式,帮助你大家理解和运用这个库。 简介 sounddevice是一个Python库&#xff0c…