0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

M1 MacBookでpuppeteerが動かない時の解決策

端的にいうと、条件分岐で弾かれているからということのようです。
今後パッチで解決される可能性があります。公式で改善された場合は、この記事での対処は不要です。

puppeteerをインストールします

yarn add puppeteer

puppeteerのコードを変更します。

https://github.com/joshuajung/puppeteer/commit/7987b91069adafa260c8b795eab3b901847240f7
上記GitHubの記述を頼りに赤くなっている部分を消します。

vim [インストールしたフォルダ]/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserFetcher.js

vim [インストールしたフォルダ]/node_modules/puppeteer/lib/cjs/puppeteer/node/Launcher.js

Chroniumを入れる

https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/818858/
のchrome-mac.zipをダウンロードし、アプリケーションフォルダに入れます。

自分が作ったスクリプトを変更する

puppeteerを起動する処理にexecutablePathの記述を追加します。

const browser = await puppeteer.launch({ 
            headless: false, 
            defaultViewport: {width: 1400, height: 2000 },
++          executablePath: '/Applications/Chromium.app/Contents/MacOS/Chromium',
        });

セキュリティの問題でChroniumが弾かれるので許可する

システム環境設定→セキュリティとプライバシーからChroniumを許可します。

puppetterが動くのを確認する

しっかりキャプチャできました!
PageSpeedInsights_1.sp_20210120134800.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?