Persist the Playwright executables between Netlify builds.
When you install playwright-chromium
, it downloads Chromium executables to a cache folder (not node_modules
). Netlify does not cache this folder between builds, but caches node_modules
. This leads to unsuccessful builds with the following error like this:
11:33:48 PM: [: Executable doesn't exist at /opt/buildhome/.cache/ms-playwright/chromium-1019/chrome-linux/chrome
╔═════════════════════════════════════════════════════════════════════════╗
11:33:48 PM: ║ Looks like Playwright Test or Playwright was just installed or updated. ║
11:33:48 PM: ║ Please run the following command to download new browsers: ║
11:33:48 PM: ║ ║
11:33:48 PM: ║ npx playwright install ║
11:33:48 PM: ║ ║
11:33:48 PM: ║ <3 Playwright Team ║
11:33:48 PM: ╚═════════════════════════════════════════════════════════════════════════╝
This plugins fixes the above issue by caching the Playwright executables (Chromium, ffmpeg...) between builds.
You can install netlify-plugin-playwright-cache
by one of the following ways:
- Install directly from Netlify Dashboard:
- Install as a dependency of your project:
npm install --save-dev netlify-plugin-playwright-cache
# Or
yarn add -D netlify-plugin-playwright-cache
# Or
pnpm add -D netlify-plugin-playwright-cache
Then update netlify.toml
to include the plugin:
[[plugins]]
package = "netlify-plugin-playwright-cache"
Remember to Clear cache and retry deploy after adding the plugin.