在CentOS7上安装puppeteer

1. 使用Nvm安装node.js环境

  1. 使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本
yum install git

git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

  1. 激活NVM
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
  1. 安装指定版本的Node.js
nvm install v12.16.0
nvm install v14.16.0
  1. 运行nvm use <版本号>可切换Node.js版本
nvm use v12.16.0

2. 安装puppeteer

  1. 安装cnpm
npm install cnpm -g
  1. cnpm安装puppeteer
cnpm install puppeteer
  1. 安装完了可以用以下命令看一下Chrome可执行文件还缺失哪些依赖库(linux版本号可能不同)
ldd node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome
  1. 安装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. 验证,解决字体问题

  1. 编写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();
})();
  1. 运行: node index.js,查看生成的截图,发现中文乱码,机器上没有对应的中文字体。在CentOS7中我们需要安装一组名为Fonts的软件包,其中包括亚洲语言的字体。
# 字体
yum groupinstall "Fonts"
  1. 运行: node index.js,再次查看新生成的截图,就没问题了。

至此,puppeteer就安装并验证成功了~

你可能感兴趣的:(在CentOS7上安装puppeteer)