87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
|
|
Here is the **definitive, consolidated guide** for setting up Playwright on **Arch Linux (WSL)**.
|
|
|
|
This summary skips the trial-and-error we just went through and provides the "Happy Path" to get everything working in one go.
|
|
|
|
---
|
|
|
|
### 📋 Prerequisites
|
|
* **WSL 2** (Recommended).
|
|
* **Proxy (Optional):** If you are behind a proxy, remember to use `sudo -E` to preserve environment variables.
|
|
|
|
---
|
|
|
|
### 🚀 Step 1: System Prep & Node.js
|
|
First, ensure your package database is fresh (fixes 404 errors) and install Node.js.
|
|
|
|
```bash
|
|
# Update system and install Node.js/npm
|
|
# Use -E if you have https_proxy set in your shell
|
|
sudo -E pacman -Syu nodejs npm
|
|
```
|
|
|
|
### 📦 Step 2: Install System Dependencies (The Critical Step)
|
|
**Do not** use `npx playwright install-deps` (it fails on Arch). Instead, install these packages manually. This list includes all the X11, Graphics, and Network libraries required by Chromium, Firefox, and WebKit.
|
|
|
|
```bash
|
|
sudo -E pacman -S --needed \
|
|
git \
|
|
nss \
|
|
nspr \
|
|
libdrm \
|
|
alsa-lib \
|
|
mesa \
|
|
gtk3 \
|
|
at-spi2-core \
|
|
pango \
|
|
cairo \
|
|
gdk-pixbuf2 \
|
|
libx11 \
|
|
libxcomposite \
|
|
libxdamage \
|
|
libxext \
|
|
libxfixes \
|
|
libxrandr \
|
|
libxcursor \
|
|
libxi \
|
|
libxrender \
|
|
libxcb \
|
|
freetype2 \
|
|
fontconfig \
|
|
ffmpeg
|
|
```
|
|
|
|
### 🛠️ Step 3: Initialize Playwright
|
|
Set up your project and download the browser binaries (these are separate from the system libs above).
|
|
|
|
```bash
|
|
# Create project directory
|
|
mkdir my-tests && cd my-tests
|
|
|
|
# Initialize (Select TypeScript/JavaScript as preferred)
|
|
npm init playwright@latest
|
|
|
|
# If prompted to "Install Playwright browsers", select True.
|
|
# If you need to install them manually later:
|
|
npx playwright install
|
|
```
|
|
|
|
### ✅ Step 4: Run Tests
|
|
You are now ready to run.
|
|
|
|
```bash
|
|
npx playwright test
|
|
```
|
|
|
|
---
|
|
|
|
### 💡 Troubleshooting Cheat Sheet
|
|
|
|
| Issue | Solution |
|
|
| :------------------------ | :-------------------------------------------------------------------------------- |
|
|
| **`install-deps` fails** | **Ignore it.** It only supports Ubuntu. Use the `pacman` command in Step 2. |
|
|
| **`libxxx.so not found`** | You are missing a package. Use `pkgfile libxxx.so` to find the Arch package name. |
|
|
| **404 Errors (Pacman)** | Your mirrors are out of sync. Run `sudo pacman -Syu` to refresh. |
|
|
| **Browser won't launch** | Ensure `nspr` and `nss` are installed (included in Step 2). |
|
|
| **GUI/Headless issues** | If visual mode fails, try `xvfb-run npx playwright test`. |
|