1. 使用Nvm安裝node.js環(huán)境
- 使用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可執(zhí)行文件還缺失哪些依賴庫(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,查看生成的截圖,發(fā)現(xiàn)中文亂碼,機器上沒有對應(yīng)的中文字體。在CentOS7中我們需要安裝一組名為Fonts的軟件包,其中包括亞洲語言的字體。
# 字體
yum groupinstall "Fonts"
- 運行:
node index.js,再次查看新生成的截圖,就沒問題了。
至此,puppeteer就安裝并驗證成功了~