启动失败
原因就是 Ubuntu 上缺少 Puppeteer 需要的一些 libraries,把需要的 libraries 下载安装全就没问题了。
例如报错信息如下:
error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory
那么只需要
sudo apt-get install libatk1.0-0
安装 libatk1.0-0 就好了;如果再次启动 Puppeteer 后还是报错,再把对应缺少的 libraries 安装上即可。
如果嫌麻烦,也可以批量安装以下 libraries:
sudo apt-get install libatk1.0-0 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon-x11-0 libpango-1.0-0 libcairo2 libasound2
以上 libraries 都是我一个一个安装然后启动 Puppeteer 看报错日志试出来的,Ubuntu 22.04 LTS
亲测可用。
参考 https://gist.github.com/winuxue/cfef08e2f5fe9dfc16a1d67a4ad38a01
截图中文乱码(方框)
这是由于 Ubuntu 字体库缺失导致的。
解决方法:
- 安装字体配置工具(fontconfig)
sudo apt-get install -y fontconfig
- 把字体文件复制到
/usr/share/fonts/
目录下- tips: 如果你不知道哪里有字体,那么这里 https://github.com/CoffeeAndCode/puppeteer-heroku-buildpack/tree/master/fonts 有一些字体,也可以直接复制 windows 的字体进来
- 查看字体
可以发现有中文字体了fc-list :lang=zh
/usr/share/fonts/wqy-zenhei.ttc: WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular /usr/share/fonts/wqy-microhei.ttc: WenQuanYi Micro Hei,文泉驛微米黑,文泉驿微米黑:style=Regular /usr/share/fonts/wqy-zenhei.ttc: WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular /usr/share/fonts/wqy-zenhei.ttc: WenQuanYi Zen Hei Sharp,文泉驛點陣正黑,文泉驿点阵正黑:style=Regular /usr/share/fonts/wqy-microhei.ttc: WenQuanYi Micro Hei Mono,文泉驛等寬微米黑,文泉驿等宽微米黑:style=Regular
- 重启 pm2 (服务)
做好以上 4 步以后,截图中文就不会全是方框了。(好像可以省略第一和第三步...)
参考文档 https://pptr.dev/troubleshooting#running-puppeteer-on-heroku
评论