[E00-S01-T08] Node engine restricted to 24.x #375
@@ -27,9 +27,11 @@ accidental dependency graph: no `packages/*` package may import a concrete
|
||||
## Prerequisites
|
||||
|
||||
- **Git** — to clone the repository.
|
||||
- **Node.js 24.x** — the CI pipeline runs Node 24 and this is the supported
|
||||
line for the workspace (a hard `engines` restriction is tracked separately as
|
||||
E00-S01-T08). Any Node ≥ 22 is enough for the current bootstrap commands.
|
||||
- **Node.js 24.x** — required. The root `package.json` restricts the Node
|
||||
engine to 24.x (`engines.node`), and the committed `pnpm-workspace.yaml` sets
|
||||
`engineStrict: true`, so `pnpm install` on any other Node version is
|
||||
**rejected** (`ERR_PNPM_UNSUPPORTED_ENGINE`) instead of merely warned.
|
||||
Install Node 24.x via `nvm`, `fnm` or another version manager to match CI.
|
||||
- **pnpm 11.23.0** — pinned via the `packageManager` field in the root
|
||||
`package.json`. The easiest way to get exactly this version is Corepack,
|
||||
which ships with Node.js (`corepack enable`).
|
||||
@@ -128,7 +130,7 @@ pnpm --filter @personal-blog/server start # loads compiled server entrypoint,
|
||||
| --- | --- |
|
||||
| `pnpm: command not found` | Corepack shims not activated — run `corepack enable`, or prefix commands with `corepack pnpm ...`. |
|
||||
| `ERR_PNPM_OUTDATED_LOCKFILE` | `pnpm-lock.yaml` is out of date with the manifests. Run `pnpm install` (unfrozen) and commit the lockfile update. |
|
||||
| Node version warnings / unexpected behavior | Use Node 24.x to match CI (e.g. via `nvm`, `fnm` or another version manager). A hard `engines` restriction is tracked as E00-S01-T08. |
|
||||
| `ERR_PNPM_UNSUPPORTED_ENGINE` on install | Your Node version is outside the supported 24.x engine line (`engines.node` in the root `package.json`, enforced by `engineStrict: true` in `pnpm-workspace.yaml`). Install Node 24.x (e.g. via `nvm`, `fnm` or another version manager). |
|
||||
| `start` exits immediately with no output | Expected at bootstrap — the server entrypoint is a placeholder module; the Fastify 5 shell is a later story (see [Run](#run)). |
|
||||
| `.env` files | `.env`/`.env.*` are git-ignored; a committed `.env.example` template lands with the environment story (E00-S04). |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user