部署 puppeteer 到 centos 上的常見問題


cnpm 安裝 puppeteer

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i puppeteer

安裝puppeteer后,檢查puppeteer依賴是否全部安裝,執行:

ldd node_modules/puppeteer/.local-chromium/linux-555668/chrome-linux/chrome

發現未安裝依賴,執行命令查看其依賴包:repoquery --nvr --whatprovides xxx.xxx.xx

安裝此依賴: yum install yyy.xxx.zz

Chrome headless doesn't launch

需要安裝對應的依賴 (更多運行上的問題也可以查看此鏈接)才能讓 puppeteer 在centos 上運行

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 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

再設置

const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox'] }) 

即可運行

The only Chrome revision guaranteed to work is r555668

運行時報錯: UnhandledPromiseRejectionWarning: Error: Timed out after 30000 ms while trying to connect to Chrome! The only Chrome revision guaranteed to work is r555668

如果是用 cnpm 安裝的 puppeteer,先 cnpm remove puppeteer 再 install。或者手動下載 555668 版本到本地,代碼指定執行的路徑即可。

Centos7 安裝Chromium瀏覽器

在這里下載Chromium

安裝chromium瀏覽器

[root@localhost hawtim]# yum localinstall chromium-58.0.3029.110-2.el7.x86_64.rpm

下載 Chromium 失敗解決辦法

更換國內Chromium源

PUPPETEER_DOWNLOAD_HOST=https://storage.googleapis.com.cnpmjs.org
npm i puppeteer

或者用 cnpm 安裝

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i puppeteer


作者:愛鴿子的玉米君
鏈接:https://www.jianshu.com/p/163d355d2454
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM