[Bug]: Monorepo breaks build for Cloud Functions
See original GitHub issueBug description
Steps to reproduce the problem:
- Depend on puppeteer
19.0.0
in a Cloud Function. - Deploy the Cloud Function, the build succeeds.
- Invoke the Cloud Function, the error below occurs.
My guess is that the new cache location is not retained in the final Docker image for the Cloud Function. Although the build (and probably the download of Chromium) succeeds, Chromium is not available at runtime.
While the Cloud Function environment is not a direct concern of the puppeteer project, the caching feature introduced in 19.0.0
makes it hard to reliably install Chromium in an environment where we don’t control the build/file system. I’ve tried playing around with PUPPETEER_CACHE_DIR
, but again, we have very little guarantees over the build flow and it potentially changing.
Instead of specifying a download location using PUPPETEER_CACHE_DIR
, is there any way the old behaviour can optionally be turned on, and let puppeteer
figure out where it’s installed? This would avoid having to know the subtlety of the underlying build/file system.
Thanks,
Puppeteer version
19.0.0
Node.js version
16
npm version
8.5.0
What operating system are you seeing the problem on?
Linux
Relevant log output
Error: Could not find expected browser (chrome) locally. Run `npm install` to download the correct Chromium revision (1045629).
Issue Analytics
- State:
- Created a year ago
- Reactions:5
- Comments:39 (5 by maintainers)
This is fixed. Just add
.puppeteerrc.cjs
at the root of your app directory withWanted to chime in and mention this effected me when I upgraded from v16 to v19 while deploying puppeteer to a Cloud Function.
If a solution could be implemented that didn’t involve having to create an extra configuration file, that’d be awesome. I’ve downgraded to v18 for now.