部署 puppeteer 到 centos 上的常見問題
阿新 • • 發佈:2020-08-07
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
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。