【jest-puppeteer】Browser is not downloaded エラーを解決する

1816 ワード

背景

別の実装者がjest-puppeteerの環境設定をした後その変更を自分のローカルブランチに反映しローカルでテストを実行しようとしたら下記エラーが発生しました。

Browser is not downloaded. Run "npm install" or "yarn install"

念のためDockerを初期化し再起動。パッケージインストールが実行されているのを確認できるのに「npm installもしくはyarn installしてください」と同じ警告が出てしまいました。心当たりがなく焦ったので解決方法をメモします。

解決方法

次のコマンドでChromiumをダウンロードさせることができます。実行後はローカルでテストができるはずです。

下記コマンドを叩く
node node_modules/puppeteer/install.js
コマンド実行後に表示される
Downloading Chromium r515411 - 73.2 Mb [====================] 100% 0.0s

直面したエラーが発生した後、別途Datepicker系のパッケージを導入したのですが特にそのパッケージのインストールに関する問題は起こらなかったのでPuppeteer依存で発生したエラーのように思えます。

また未確認で恐縮ですが参考記事ではignore-scripts=true in my ~/.npmrc fileと書かれていましたので純粋にpuppeteer(のChromium)をインストールできていない可能性があります。

最後に

エラーメッセージの通りnpm installもしくはyarn installを実行すれば解決するのですがDockerの中に入らないといけなかったり、全てのパッケージのインストールに時間がかかったりと、色々手間があるのでこちらのコマンドを実行したほうが楽だと思いました。

かなりピンポイントな内容ではありますが自分が直面したエラーもしくは表題に関連するエラーに当たって調査されている方の解決策としてお役立てできましたら幸いです。

参考記事