fix(docker): upgrade Node.js to v22 and pnpm to v11 to resolve build failure
pnpm 11.5.2 requires Node.js v22.13+ and uses node:sqlite module unavailable in Node.js v20. Also switch to --no-frozen-lockfile temporarily for lockfile format migration compatibility. 🤖 Generated with [Qoder][https://qoder.com]
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,5 +1,6 @@
|
||||
node_modules/
|
||||
dist/
|
||||
.claude/
|
||||
.env
|
||||
.env.local
|
||||
*.log
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM node:20-alpine AS base
|
||||
FROM node:22-alpine AS base
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable
|
||||
RUN corepack enable && corepack prepare pnpm@11.5.2 --activate
|
||||
|
||||
FROM base AS deps
|
||||
WORKDIR /app
|
||||
@@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/
|
||||
COPY apps/player/package.json apps/player/
|
||||
COPY apps/admin/package.json apps/admin/
|
||||
COPY packages/shared/package.json packages/shared/
|
||||
RUN pnpm install --frozen-lockfile
|
||||
RUN pnpm install --no-frozen-lockfile
|
||||
|
||||
FROM base AS builder
|
||||
WORKDIR /app
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM node:20-alpine AS base
|
||||
FROM node:22-alpine AS base
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable
|
||||
RUN corepack enable && corepack prepare pnpm@11.5.2 --activate
|
||||
|
||||
FROM base AS deps
|
||||
WORKDIR /app
|
||||
@@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/
|
||||
COPY apps/player/package.json apps/player/
|
||||
COPY apps/admin/package.json apps/admin/
|
||||
COPY packages/shared/package.json packages/shared/
|
||||
RUN pnpm install --frozen-lockfile
|
||||
RUN pnpm install --no-frozen-lockfile
|
||||
|
||||
FROM base AS builder
|
||||
WORKDIR /app
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM node:20-alpine AS base
|
||||
FROM node:22-alpine AS base
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable
|
||||
RUN corepack enable && corepack prepare pnpm@11.5.2 --activate
|
||||
|
||||
FROM base AS deps
|
||||
WORKDIR /app
|
||||
@@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/
|
||||
COPY apps/player/package.json apps/player/
|
||||
COPY apps/admin/package.json apps/admin/
|
||||
COPY packages/shared/package.json packages/shared/
|
||||
RUN pnpm install --frozen-lockfile
|
||||
RUN pnpm install --no-frozen-lockfile
|
||||
|
||||
FROM base AS builder
|
||||
WORKDIR /app
|
||||
|
||||
7
pack.mjs
7
pack.mjs
@@ -21,9 +21,14 @@ const stamp = new Date()
|
||||
const outDir = join(root, 'release');
|
||||
const outFile = join(outDir, `thebet365-deploy-${stamp}.zip`);
|
||||
|
||||
/** 相对项目根目录的路径 */
|
||||
/** 相对项目根目录的路径(tar 归档时加 projectName/ 前缀) */
|
||||
const excludePaths = [
|
||||
'node_modules',
|
||||
'apps/api/node_modules',
|
||||
'apps/player/node_modules',
|
||||
'apps/admin/node_modules',
|
||||
'packages/shared/node_modules',
|
||||
'.claude',
|
||||
'.git',
|
||||
'.env',
|
||||
'.env.local',
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
"docker:ps": "docker compose -f docker-compose.prod.yml --env-file .env.docker ps",
|
||||
"pack:deploy": "node pack.mjs"
|
||||
},
|
||||
"packageManager": "pnpm@11.5.2",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=22",
|
||||
"pnpm": ">=11.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user