From 85547d7043e1364aecdc02665fbf1312722072f3 Mon Sep 17 00:00:00 2001 From: xiaoquan <838115837@qq.com> Date: Wed, 10 Jun 2026 19:42:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20pnpm=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=92=8C=20docker=20compose=20=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 修改内容 1. 所有 Dockerfile 中指定 pnpm@8(兼容 lockfileVersion 6.0) 2. 工作流使用 docker compose(V2)而不是 docker-compose ## 修复的问题 - pnpm-lock.yaml 版本不兼容 - 容器中缺少 docker-compose 命令 Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/deploy.yml | 18 ++++++++---------- deploy/docker/Dockerfile.merchant | 2 +- deploy/docker/Dockerfile.platform | 2 +- deploy/docker/Dockerfile.server | 2 +- deploy/docker/Dockerfile.website | 2 +- 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a6e4e79..ca44eba 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -50,15 +50,14 @@ jobs: export TEST_JWT_SECRET="${{ secrets.TEST_JWT_SECRET }}" export ENCRYPTION_KEY="${{ secrets.ENCRYPTION_KEY }}" - # 使用 docker compose(V2 版本,空格分隔) - docker compose -f docker-compose.test.yml down --remove-orphans || docker-compose -f docker-compose.test.yml down --remove-orphans - docker compose -f docker-compose.test.yml build --parallel || docker-compose -f docker-compose.test.yml build --parallel - docker compose -f docker-compose.test.yml up -d || docker-compose -f docker-compose.test.yml up -d + docker compose -f docker-compose.test.yml down --remove-orphans + docker compose -f docker-compose.test.yml build --parallel + docker compose -f docker-compose.test.yml up -d docker image prune -f echo "等待服务启动..." sleep 10 - docker compose -f docker-compose.test.yml ps || docker-compose -f docker-compose.test.yml ps + docker compose -f docker-compose.test.yml ps echo "✅ 测试环境部署完成" - name: Deploy to production @@ -71,13 +70,12 @@ jobs: export PROD_JWT_SECRET="${{ secrets.PROD_JWT_SECRET }}" export ENCRYPTION_KEY="${{ secrets.ENCRYPTION_KEY }}" - # 使用 docker compose(V2 版本,空格分隔) - docker compose -f docker-compose.prod.yml down --remove-orphans || docker-compose -f docker-compose.prod.yml down --remove-orphans - docker compose -f docker-compose.prod.yml build --parallel || docker-compose -f docker-compose.prod.yml build --parallel - docker compose -f docker-compose.prod.yml up -d || docker-compose -f docker-compose.prod.yml up -d + docker compose -f docker-compose.prod.yml down --remove-orphans + docker compose -f docker-compose.prod.yml build --parallel + docker compose -f docker-compose.prod.yml up -d docker image prune -f echo "等待服务启动..." sleep 10 - docker compose -f docker-compose.prod.yml ps || docker-compose -f docker-compose.prod.yml ps + docker compose -f docker-compose.prod.yml ps echo "✅ 生产环境部署完成" diff --git a/deploy/docker/Dockerfile.merchant b/deploy/docker/Dockerfile.merchant index a9c1449..a4c1d96 100644 --- a/deploy/docker/Dockerfile.merchant +++ b/deploy/docker/Dockerfile.merchant @@ -4,7 +4,7 @@ WORKDIR /app COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./ COPY packages/ ./packages/ COPY apps/merchant-admin/ ./apps/merchant-admin/ -RUN npm install -g pnpm && pnpm install --frozen-lockfile +RUN npm install -g pnpm@8 && pnpm install --frozen-lockfile RUN pnpm --filter @rent/shared-types build RUN pnpm --filter @rent/shared-utils build RUN cd apps/merchant-admin && pnpm run build diff --git a/deploy/docker/Dockerfile.platform b/deploy/docker/Dockerfile.platform index cf19f29..e3ebb54 100644 --- a/deploy/docker/Dockerfile.platform +++ b/deploy/docker/Dockerfile.platform @@ -4,7 +4,7 @@ WORKDIR /app COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./ COPY packages/ ./packages/ COPY apps/platform-admin/ ./apps/platform-admin/ -RUN npm install -g pnpm && pnpm install --frozen-lockfile +RUN npm install -g pnpm@8 && pnpm install --frozen-lockfile RUN pnpm --filter @rent/shared-types build RUN pnpm --filter @rent/shared-utils build RUN cd apps/platform-admin && pnpm run build diff --git a/deploy/docker/Dockerfile.server b/deploy/docker/Dockerfile.server index 14b9359..f127fbe 100644 --- a/deploy/docker/Dockerfile.server +++ b/deploy/docker/Dockerfile.server @@ -4,7 +4,7 @@ WORKDIR /app COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./ COPY packages/ ./packages/ COPY apps/server/ ./apps/server/ -RUN npm install -g pnpm && pnpm install --frozen-lockfile +RUN npm install -g pnpm@8 && pnpm install --frozen-lockfile RUN cd apps/server && pnpm run build FROM node:18-alpine AS server diff --git a/deploy/docker/Dockerfile.website b/deploy/docker/Dockerfile.website index 2dda7b4..0c9431b 100644 --- a/deploy/docker/Dockerfile.website +++ b/deploy/docker/Dockerfile.website @@ -4,7 +4,7 @@ WORKDIR /app COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./ COPY packages/ ./packages/ COPY apps/official-website/ ./apps/official-website/ -RUN npm install -g pnpm && pnpm install --frozen-lockfile +RUN npm install -g pnpm@8 && pnpm install --frozen-lockfile RUN cd apps/official-website && pnpm run build FROM nginx:alpine AS website