🪆
puppeteer19+dockerでエラーが出るときは$HOME確認
puppeteerをdockerで使っていて、v19にアプデしたら puppeteer.launch
実行時に以下のようなエラーが出た。
Could not find Chromium (rev. 1108766). This can occur if either
1. you did not perform an installation before running the script (e.g. `npm install`) or
2. your cache path is incorrectly configured (which is: /home/node/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
v19から ~/.cache/puppeteer
にchromiumがインストールされるようになっている。
そのため、dockerで npm install
したときとユーザーが異なっていたりするとHOMEディレクトリにchromiumが存在しないことになる。
例えば以下のように npm install
するときとユーザーが同じであれば動作する。
USER node
WORKDIR /usr/src/app
COPY .npmrc ./
COPY package*.json ./
RUN npm install
マルチステージビルドなどで別ステージから node_modules
をコピってくるようにしてるときは $HOME/.cache/puppeteer
も持ってくる。
Discussion