首先,我使用的是 Raspberry Pi 4B,安装的是官方 Debian 10(buster)系统,并且保持升级到最新版。
因为集成的 chromium 核心组件的关系,Puppeteer 一直无法跑在 Raspberry Pi 上,需要自己安装 Chromium Browser,然后修改 Puppeteer 启动的浏览器,以实现功能。这个一搜就能找到,比如 https://stackoverflow.com/questions/60129309/puppeteer-on-raspberry-pi-zero-w。
但是我之前一直没能跑起来的问题在于,sudo apt install chromium-browser
会失败,报错找不到目标模块,只能装 chromium-codecs-ffmpeg
,然后没用。
然后我受前几天完成 WSL 配置的启发,使用 apt search chromium
搜索名字接近的包,发现了真正原因:很简单,chromium-browser 当然是存在的,只是因为我当前系统配置的关系,它希望安装 stable 版本的软件,不愿意安装 testing 版本,所以不给装。
接下来我面临两个选择:
- 修改配置
- 试试 Chromium
方案二更容易尝试。于是
# 安装
sudo apt install chromium
# 查看路径
whereis chromium
修改 JS 代码:
const browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium',
// 其它配置项
// ....
});
再执行,成功。啊,终于搞定了手边所有平台跑 Puppeteer 了,哦耶。
欢迎吐槽,共同进步