解决centos运行node项目puppeteer时chrome错误问题

Max迪丶先生 -
解决centos运行node项目puppeteer时chrome错误问题

系统错误提示,无法找到chrome,其他就是依赖【没有安装】完善,需要自己【手动安装

(node:17524) UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process!
/www/wwwroot/BOT/node_modules/puppeteer/.local-chromium/linux-901912/chrome-linux/chrome: error while loading shared libraries: libdrm.so.2: cannot open shared object file: No such file or directory

image.png

上面提示的chrome安装路径需要留意,下面会用到
/www/wwwroot/BOT/node_modules/puppeteer/.local-chromium/linux-901912/chrome-linux/chrome
官方给出的常用依赖包可查看:

https://github.com/puppeteer/...
image.png

#可复制下方安装相关依赖包【有可能运行项目还存在错误,下面继续说明】
#依赖库
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y

#字体
yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

#安装依赖项后,您需要使用此命令更新 nss 库
yum update nss -y
安装完成后,查看当前chrome依赖是否全部安装
#【错误路径】打开提示错误目录,这里要注意,下面会提示打不开,因为chrome是文件,需要去除
cd /www/wwwroot/BOT/node_modules/puppeteer/.local-chromium/linux-901912/chrome-linux/chrome

#【正确路径】这才是正确的打开路径
cd /www/wwwroot/BOT/node_modules/puppeteer/.local-chromium/linux-901912/chrome-linux
然后在目录下查看还有哪些依赖还没有安装的
#是复制下面一条代码查看 | 不是或的意思

ldd chrome | grep not

image.png

上面可以看到有哪些依赖包没有进行安装的not found

下面继续安装上面没有安装完的依赖
#这里根据每个人提示哪些依赖没安装的,再进行安装对应依赖包

yum install libdrm libgbm libxshmfence -y

最后继续查看一次,直到没有not found,全部依赖安装成功

ldd chrome | grep not

image.png

最后,成功运行项目~

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

javascriptpuppeteercentosnode.js

扩展阅读

加个好友,技术交流

1628738909466805.jpg