在CentOS7上安装puppeteer
2021-04-07 本文已影响0人
Yixi_Li
1. 使用Nvm安装node.js环境
- 使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本
yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
- 激活NVM
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
- 安装指定版本的Node.js
nvm install v12.16.0
nvm install v14.16.0
- 运行
nvm use <版本号>
可切换Node.js版本
nvm use v12.16.0
2. 安装puppeteer
- 安装cnpm
npm install cnpm -g
- cnpm安装puppeteer
cnpm install puppeteer
- 安装完了可以用以下命令看一下Chrome可执行文件还缺失哪些依赖库(linux版本号可能不同)
ldd node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome
- 安装chromium依赖
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
到这里就安装完成了~
3. 验证,解决字体问题
- 编写index.js
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
const page = await browser.newPage();
await page.goto('https://www.segmentfault.com');
await page.screenshot({path: 'test.png'});
await browser.close();
})();
- 运行:
node index.js
,查看生成的截图,发现中文乱码,机器上没有对应的中文字体。在CentOS7中我们需要安装一组名为Fonts的软件包,其中包括亚洲语言的字体。
# 字体
yum groupinstall "Fonts"
- 运行:
node index.js
,再次查看新生成的截图,就没问题了。
至此,puppeteer就安装并验证成功了~