本地 windows 环境安装后是没有问题的,但是在 centos6.9 的 docker 中安装后,使用的时候就报错了:
1 2 3 4 5
2020-09-08 15:32:28,576 ERROR 205 nodejs.unhandledRejectionError: Could not find browser revision 782078. Run "PUPPETEER_PRODUCT=firefox npm install" or "PUPPETEER_PRODUCT=firefox yarn install" to download a supported Firefox browser binary. at ChromeLauncher.launch (/var/www/resource/server/node_modules/puppeteer/lib/cjs/puppeteer/node/Launcher.js:86:23) name: "unhandledRejectionError" pid: 205 hostname: iwc-datav-resource-644b9d5f45-v72jl
跟进报错位置的源码,发现是 Chrome 浏览器没装上:
1 2 3 4 5 6 7 8
let chromeExecutable = executablePath; if (os.arch() === 'arm64') { chromeExecutable = '/usr/bin/chromium-browser'; } elseif (!executablePath) { const { missingText, executablePath } = resolveExecutablePath(this); if (missingText) thrownewError(missingText); chromeExecutable = executablePath; }
2020-09-08 21:29:01,793 ERROR 652 nodejs.unhandledRejectionError: Failed to launch the browser process! /var/www/resource/server/node_modules/puppeteer/.local-chromium/linux-782078/chrome-linux/chrome: error while loading shared libraries: libatk-bridge-2.0.so.0: cannot open shared object file: No such file or directory
2020-09-08 22:12:26,190 ERROR 1107 nodejs.unhandledRejectionError: Failed to launch the browser process! /var/www/resource/chrome-linux/chrome: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /var/www/resource/chrome-linux/chrome) /var/www/resource/chrome-linux/chrome: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /var/www/resource/chrome-linux/chrome) /var/www/resource/chrome-linux/chrome: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /var/www/resource/chrome-linux/chrome)
mkdir ~/glibc_install cd ~/glibc_install curl http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz -O glibc-2.14.tar.gz tar zxvf glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure --prefix=/opt/glibc-2.14 make -j4 make install export LD_LIBRARY_PATH=/opt/glibc-2.14/lib
这个过程需要花个几分钟(主要是 make 耗时较长)。
然后再次启动程序,继续报错:
1 2 3
2020-09-08 22:46:25,864 ERROR 28799 nodejs.unhandledRejectionError: Failed to launch the browser process! /var/www/resource/chrome-linux/chrome: /opt/glibc-2.14/lib/libc.so.6: version `GLIBC_2.15' not found (required by /var/www/resource/chrome-linux/chrome) /var/www/resource/chrome-linux/chrome: /opt/glibc-2.14/lib/libc.so.6: version `GLIBC_2.16' not found (required by /var/www/resource/chrome-linux/chrome)
mkdir ~/glibc_install cd ~/glibc_install curl http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz -O glibc-2.15.tar.gz tar zxvf glibc-2.15.tar.gz cd glibc-2.15 mkdir build cd build ../configure --prefix=/opt/glibc-2.15 make -j4 make install export LD_LIBRARY_PATH=/opt/glibc-2.15/lib
mkdir ~/glibc_install cd ~/glibc_install curl http://ftp.gnu.org/gnu/glibc/glibc-2.16.0.tar.gz -O glibc-2.16.tar.gz tar zxvf glibc-2.16.tar.gz cd glibc-2.16 mkdir build cd build ../configure --prefix=/opt/glibc-2.16 make -j4 make install export LD_LIBRARY_PATH=/opt/glibc-2.16/lib
装好了 15,在装 16 的过程中,我启动了程序想试试,结果迎来了:
1
/usr/bin/env: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument