Fix Docker build: use pnpm 11 (corepack) to match lockfile/allowBuilds schema
- pnpm-workspace.yaml from Astro v7 uses allowBuilds (pnpm 10.14+ schema); pnpm 9 in old Dockerfile errored 'packages field missing or empty' - Switch Dockerfile to corepack + pnpm@11, matching pnpm-lock.yaml - Verified pnpm install --frozen-lockfile passes with pnpm 11
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
# มิตซูชัยพร สมุทรสาคร — Astro static site
|
# มิตซูชัยพร สมุทรสาคร — Astro static site
|
||||||
# Multi-stage: 1) build with node/pnpm 2) serve dist with nginx.
|
# Multi-stage: 1) build with node + pnpm 2) serve dist with nginx.
|
||||||
#
|
#
|
||||||
# Env vars (GA_ID, FORM_EMAIL, GMAP_LAT/LNG) are injected into HTML by
|
# Env vars (GA_ID, FORM_EMAIL, GMAP_LAT/LNG) are injected into HTML by
|
||||||
# entrypoint.sh at container startup (see .env.example).
|
# entrypoint.sh at container startup (see .env.example).
|
||||||
@@ -11,8 +11,9 @@
|
|||||||
FROM node:22-alpine AS build
|
FROM node:22-alpine AS build
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# pnpm
|
# pnpm via corepack (uses the version pinned by packageManager / pnpm-workspace)
|
||||||
RUN npm install -g pnpm@9
|
# Use pnpm 11 to match the pnpm-lock.yaml + allowBuilds schema from Astro v7.
|
||||||
|
RUN corepack enable && corepack prepare pnpm@11 --activate
|
||||||
|
|
||||||
# Install deps (uses pnpm-lock.yaml)
|
# Install deps (uses pnpm-lock.yaml)
|
||||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||||
|
|||||||
Reference in New Issue
Block a user