From ad46a0bb53ad5177fcf6c529826b78f9032e9acc Mon Sep 17 00:00:00 2001 From: Wenyan Date: Mon, 15 Dec 2025 11:03:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 18 ++++++++++++------ package.json | 4 ++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6f36246..3404789 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,17 +2,23 @@ FROM node:24 WORKDIR /app -# 复制 package.json 和 package-lock.json -COPY package*.json ./ +# 安装 pnpm +RUN npm install -g pnpm -# 安装依赖(包含 devDependencies 用于构建,包含可选依赖以获取 Linux 原生绑定) -RUN npm ci --include=dev +# 复制 package.json 和 pnpm-lock.yaml +COPY package.json pnpm-lock.yaml ./ + +# 安装依赖(包含 devDependencies 用于构建) +RUN pnpm install --frozen-lockfile # 复制源代码 COPY . . +# 修复 Windows 换行符问题 +RUN sed -i 's/\r$//' start.sh + # 构建应用 -RUN npm run build:production:multi +RUN pnpm run build:production:multi # 安装 PM2 RUN npm install -g pm2 @@ -22,4 +28,4 @@ EXPOSE 51703-51708 ENV NODE_ENV=production # 直接启动 PM2,不需要重新构建(构建已在上面完成) -CMD ["pm2-runtime", "start", "ecosystem.config.cjs", "--env", "production"] \ No newline at end of file +CMD ["pm2-runtime", "start", "ecosystem.config.cjs", "--env", "production"] diff --git a/package.json b/package.json index 4e9607b..d9f304c 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,8 @@ "remark-math": "^6.0.0", "remixicon": "^4.6.0", "tslib": "^2.8.1", - "uuid": "^11.1.0" + "uuid": "^11.1.0", + "cross-env": "^7.0.3" }, "devDependencies": { "@remix-run/dev": "^2.16.2", @@ -79,7 +80,6 @@ "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", "autoprefixer": "^10.4.21", - "cross-env": "^7.0.3", "esbuild": "^0.25.1", "eslint": "^8.38.0", "eslint-import-resolver-typescript": "^3.6.1",