当ブログでは
rehype-mermaidが
今回は
開発環境
- Node.js: v20.15.0
(Vercelでは v20を 指定) - @playwright/test: v1.45.1
Node18から Node20に アップグレードする
Vercelビルド時は
Vercelビルド時のpackage.jsonのengines#nodeをpackage.jsonに
{ "name": "@kkhys/web", // ... "engines": { "node": ">=20.15.0" }, // ...}ちなみに
{ "name": "root", // ... // ...}これで
ビルド時に Playwrightを インストールする
Vercelビルド時はturbo run buildが
{ "name": "@kkhys/web", // ... "scripts": { "playwright-install": "pnpx playwright-core install chromium", }, // ...}package.jsonのplaywright-installと
Playwrightの--with-depsを
sh: apt-get: command not foundFailed to install browsersError: Installation process exited with code: 127ELIFECYCLE Command failed with exit code 1.Error: Command "pnpm playwright-install && turbo run build" exited with 1仕方
Vercelビルド時のvercel.jsonでvercel.jsonを
{ "$schema": "https://openapi.vercel.sh/vercel.json", "buildCommand": "pnpm playwright-install && turbo run build"}vercel.jsonは
3行目でpackage.jsonに
ビルドコンテナに 追加の パッケージを インストールする
上述した
╔══════════════════════════════════════════════════════╗║ Host system is missing dependencies to run browsers. ║║ Please install them with the following command: ║║ ║║ pnpm exec playwright install-deps ║║ ║║ Alternatively, use apt: ║║ apt-get install libnss3\ ║║ libnspr4\ ║║ libgbm1 ║║ ║║ <3 Playwright Team ║╚══════════════════════════════════════════════════════╝Playwrightインストール時に--with-deps
ちなみに
Vercelデプロイ時のapt-getをdnf installを
- libnss3 → nss
- libnspr4 → nspr
- libgbm1 → mesa-libgbm
念の
# Docker コンテナを作成して実行するdocker run --rm -it amazonlinux:2023.2.20231011.0 sh
# nss があるかチェック -> あるdnf search nss
# nspr があるかチェック -> あるdnf search nspr
# mesa-libgbm があるかチェック -> あるdnf search mesa-libgbm
# それぞれインストールするdnf install -y nss nspr mesa-libgbm
exit問題なくvercel.jsonに
{ "$schema": "https://openapi.vercel.sh/vercel.json", "buildCommand": "pnpm playwright-install && turbo run build", "installCommand": "pnpm install && dnf install -y nss nspr mesa-libgbm"}これで
さい ごに
そも
Mermaidが