次の回答の検証になります:
環境は前回のエントリーで用意したものです。
セットアップ
あとでHomebrewに要求されるので先にインストールしておきます:
1
|
sudo yum groupinstall -y 'Development Tools'
|
Git 最新化
Homebrewインストール時にGitが古いと怒られるので最新版をインストールします:
1
2
3
4
|
sudo yum remove -y git
sudo yum -y install https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install libsecret pcre2 emacs-filesystem
sudo yum -y install git --enablerepo=ius --disablerepo=base,epel,extras,updates
|
Curl 最新化
Curl も古いと怒られるので最新化します。
#! /bin/bash
set -eux
# Tested on CentOS 7 and CentOS 8
# Check the latest version at https://curl.se/download/
VERSION=8.11.0
cd ~
sudo yum update -y
sudo yum install wget gcc openssl-devel make libpsl-devel -y
wget https://curl.haxx.se/download/curl-${VERSION}.tar.gz
tar -xzvf curl-${VERSION}.tar.gz
rm -f curl-${VERSION}.tar.gz
cd curl-${VERSION}
./configure --prefix=/usr/local --with-ssl
make
sudo make install
sudo ldconfig
cd ~
rm -rf curl-${VERSION}
またこれもHomebrewに怒られるので先に設定しておきます:
1
2
|
echo 'export HOMEBREW_CURL_PATH=/usr/local/bin/curl' >> ~/.bashrc
export HOMEBREW_CURL_PATH=/usr/local/bin/curl
|
Homebrew インストール
公式サイト https://brew.sh/ にある通りコマンドを実行します:
1
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
インストール後に指示される通り .bashrc
への書き込みと、 brew
コマンドでのGCCインストールを実行します。
1
2
3
|
echo >> /home/vagrant/.bashrc
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/vagrant/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
Puppeteer実行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
sudo yum install -y chromium-browser
brew install node@18
mkdir ~/hello-puppeteer
cd ~/hello-puppeteer
npm init -y
npm i puppeteer-core
cat <<EOF > main.js
const puppeteer = require('puppeteer-core');
(async () => {
// Launch the browser and open a new blank page
const browser = await puppeteer.launch({executablePath: '/usr/bin/chromium-browser'});
const page = await browser.newPage();
// Navigate the page to a URL
await page.goto('https://developer.chrome.com/');
// Set screen size
await page.setViewport({width: 1080, height: 1024});
const title = await page.title();
console.log('page title:', title);
await browser.close();
})();
EOF
|
実行してみます: