-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Description
Version
1.56.1
Steps to reproduce
(From my project dir)
- npm exec playwright uninstall
- npm exec playwright install chromium
$ npm exec playwright install chromium
Downloading Chromium 141.0.7390.37 (playwright build v1194) from https://cdn.playwright.dev/dbazure/download/playwright/builds/chromium/1194/chromium-linux.zip
Chromium 141.0.7390.37 (playwright build v1194) downloaded to $HOME/.cache/ms-playwright/chromium-1194
Downloading Chromium Headless Shell 141.0.7390.37 (playwright build v1194) from https://cdn.playwright.dev/dbazure/download/playwright/builds/chromium/1194/chromium-headless-shell-linux.zip
Chromium Headless Shell 141.0.7390.37 (playwright build v1194) downloaded to $HOME/.cache/ms-playwright/chromium_headless_shell-1194
Playwright Host validation warning:
╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries: ║
║ libglib-2.0.so.0 ║
║ libgobject-2.0.so.0 ║
║ libnspr4.so ║
║ libnss3.so ║
║ libnssutil3.so ║
║ libsmime3.so ║
║ libgio-2.0.so.0 ║
║ libdbus-1.so.3 ║
║ libatk-1.0.so.0 ║
║ libatk-bridge-2.0.so.0 ║
║ libcups.so.2 ║
║ libexpat.so.1 ║
║ libxcb.so.1 ║
║ libxkbcommon.so.0 ║
║ libatspi.so.0 ║
║ libX11.so.6 ║
║ libXcomposite.so.1 ║
║ libXdamage.so.1 ║
║ libXext.so.6 ║
║ libXfixes.so.3 ║
║ libXrandr.so.2 ║
║ libgbm.so.1 ║
║ libcairo.so.2 ║
║ libpango-1.0.so.0 ║
║ libudev.so.1 ║
║ libasound.so.2 ║
╚══════════════════════════════════════════════════════╝
at validateDependenciesLinux ($PRJDIR/node_modules/playwright-core/lib/server/registry/dependencies.js:269:9)
at async Registry._validateHostRequirements ($PRJDIR/node_modules/playwright-core/lib/server/registry/index.js:961:14)
at async Registry._validateHostRequirementsForExecutableIfNeeded ($PRJDIR/node_modules/playwright-core/lib/server/registry/index.js:1083:7)
at async Registry.validateHostRequirementsForExecutablesIfNeeded ($PRJDIR/node_modules/playwright-core/lib/server/registry/index.js:1072:7)
at async i.<anonymous> ($PRJDIR/node_modules/playwright-core/lib/cli/program.js:217:7)
Expected behavior
I expect Chromium to be successfully installed and linked to relevant deps (wherever they are sourced from).
Actual behavior
Dependencies are claimed to be missing, although they appear to be installed.
Additional context
I've tried installing dependencies with $ npm exec playwright install-deps chromium
This reports that all deps are present and correct:
libasound2 is already the newest version (1.2.8-1+b1).
libatk-bridge2.0-0 is already the newest version (2.46.0-5).
libatk1.0-0 is already the newest version (2.46.0-5).
libatspi2.0-0 is already the newest version (2.46.0-5).
libcairo2 is already the newest version (1.16.0-7).
libcups2 is already the newest version (2.4.2-3+deb12u9).
libdbus-1-3 is already the newest version (1.14.10-1~deb12u1).
libdrm2 is already the newest version (2.4.114-1+b1).
libgbm1 is already the newest version (22.3.6-1+deb12u1).
libglib2.0-0 is already the newest version (2.74.6-2+deb12u7).
libnspr4 is already the newest version (2:4.35-1).
libnss3 is already the newest version (2:3.87.1-1+deb12u1).
libpango-1.0-0 is already the newest version (1.50.12+ds-1).
libx11-6 is already the newest version (2:1.8.4-2+deb12u2).
libxcb1 is already the newest version (1.15-1).
libxcomposite1 is already the newest version (1:0.4.5-1).
libxdamage1 is already the newest version (1:1.1.6-1).
libxext6 is already the newest version (2:1.3.4-1+b1).
libxfixes3 is already the newest version (1:6.0.0-2).
libxkbcommon0 is already the newest version (1.5.0-1).
libxrandr2 is already the newest version (2:1.5.2-2+b1).
xvfb is already the newest version (2:21.1.7-3+deb12u11).
fonts-noto-color-emoji is already the newest version (2.042-0+deb12u1).
fonts-unifont is already the newest version (1:15.0.01-2).
libfontconfig1 is already the newest version (2.14.1-4).
libfreetype6 is already the newest version (2.12.1+dfsg-5+deb12u4).
xfonts-scalable is already the newest version (1:1.0.3-1.3).
fonts-liberation is already the newest version (1:1.07.4-11).
fonts-ipafont-gothic is already the newest version (00303-23).
fonts-wqy-zenhei is already the newest version (0.9.45-8).
fonts-tlwg-loma-otf is already the newest version (1:0.7.3-1).
fonts-freefont-ttf is already the newest version (20120503-10).
I've also tried running the test suite anyway using the following minimal file:
import path from "node:path"
import { chromium } from "@playwright/test"
export default async function globalSetup() {
const browser = await chromium.launch()
const context = await browser.newContext()
await browser.close()
}
This fails at the chromium.launch() line with the same "dependency missing" error as above.
I use nix to manage some dependencies on this system, and I wonder if Playwright may be observing the /nix directory on my system (or observing Nix in some other way) and from that falsely deducing that my system is NixOS, and therefore looking in the wrong location for system dependencies; but I don't know a practical way to test this theory.
Environment
System:
OS: Linux 6.1 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
CPU: (16) x64 AMD Ryzen 7 PRO 5850U with Radeon Graphics
Memory: 23.34 GB / 30.18 GB
Container: Yes
Binaries:
Node: 22.18.0 - /nix/store/9d235766g7alzlalw4z8yqxql0jl2mgd-nodejs-22.18.0/bin/node
npm: 10.9.3 - /nix/store/9d235766g7alzlalw4z8yqxql0jl2mgd-nodejs-22.18.0/bin/npm
Languages:
Bash: 5.3.3 - /nix/store/4bacfs7zrg714ffffbjp57nsvcz6zfkq-bash-5.3p3/bin/bash
npmPackages:
@playwright/test: ^1.55.1 => 1.56.1
playwright: ^1.53.1 => 1.56.1