M1 MacBookでpuppeteerが動かない時の解決策
端的にいうと、条件分岐で弾かれているからということのようです。
今後パッチで解決される可能性があります。公式で改善された場合は、この記事での対処は不要です。
puppeteerをインストールします
yarn add puppeteer
puppeteerのコードを変更します。
yarn add 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が動くのを確認する
Author And Source
この問題について(M1 MacBookでpuppeteerが動かない時の解決策), 我々は、より多くの情報をここで見つけました https://qiita.com/3tomcha/items/f141faa1cb24124e9d66著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .