From 7e5be46cda221544846ff82685561a16bca37784 Mon Sep 17 00:00:00 2001 From: huangjianwu Date: Sat, 9 May 2026 14:47:06 +0800 Subject: [PATCH] =?UTF-8?q?fix(docker):=20pin=20pnpm=20=E5=88=B0=209.15.0?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=20v2.2.0=20ghcr.io=20=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E6=9E=84=E5=BB=BA=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v2.2.0 tag 触发的 ghcr.io 推送挂在 frontend-builder 第 5/7 步 'pnpm install --frozen-lockfile',错误: code: 'ERR_UNKNOWN_BUILTIN_MODULE' Node.js v20.20.2 根因:'corepack prepare pnpm@latest' 拉到 pnpm 11.0.9,pnpm 11+ 要求 Node 22+, 跟我们 node:20-alpine 不兼容。lockfile 本身是 lockfileVersion '9.0' 由 pnpm 9 生成,理应跟 pnpm 9 配。 修:Dockerfile.complete + BillNote_frontend/Dockerfile 都 pin 到 pnpm@9.15.0; 不再用 @latest,避免上游再次升级悄悄破坏 CI。 Co-Authored-By: Claude Opus 4.7 (1M context) --- BillNote_frontend/Dockerfile | 3 ++- CHANGELOG.md | 9 +++++++++ Dockerfile.complete | 6 +++++- README.md | 6 +++++- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/BillNote_frontend/Dockerfile b/BillNote_frontend/Dockerfile index 978eae4..16e62a0 100644 --- a/BillNote_frontend/Dockerfile +++ b/BillNote_frontend/Dockerfile @@ -2,7 +2,8 @@ # Tailwind v4 / Vite 6 需要 Node 20+,alpine + pnpm 会按 lockfile 拉 musl native binary。 FROM node:20-alpine AS builder -RUN corepack enable && corepack prepare pnpm@latest --activate +# pnpm pin 到 9.x:lockfile 是 v9 生成;pnpm 11 要求 Node 22+ 与 node:20 不兼容 +RUN corepack enable && corepack prepare pnpm@9.15.0 --activate WORKDIR /app diff --git a/CHANGELOG.md b/CHANGELOG.md index c7cc405..40a7a93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ 本项目所有重要变更记录于此。格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 +## [2.2.1] - 2026-05-09 + +补 v2.2.0 ghcr.io 镜像构建失败。 + +### Fixed + +- Docker 镜像构建失败:`v2.2.0` tag 触发的 ghcr.io 推送在 frontend-builder 第 5/7 步 `pnpm install --frozen-lockfile` 报 `ERR_UNKNOWN_BUILTIN_MODULE`。根因:`corepack prepare pnpm@latest` 拉到了 pnpm 11.0.9,而 pnpm 11 要求 Node 22+,跟我们的 `node:20-alpine` 不兼容。 + - `Dockerfile.complete` 与 `BillNote_frontend/Dockerfile` 的 pnpm 版本 pin 到 `9.15.0`(lockfile 由 pnpm 9 生成,匹配 Node 20) + ## [2.2.0] - 2026-05-09 主线:浏览器插件功能与 web 端 NoteForm 完整对齐;桌面客户端 UX 与错误恢复一波重炼。 diff --git a/Dockerfile.complete b/Dockerfile.complete index e901700..d7f6e29 100644 --- a/Dockerfile.complete +++ b/Dockerfile.complete @@ -30,7 +30,11 @@ COPY ./backend /tmp/backend # 升到 node:20-alpine。alpine 走 musl,pnpm 会按 lockfile 拉 *-linux-x64-musl native binary。 FROM node:20-alpine AS frontend-builder -RUN corepack enable && corepack prepare pnpm@latest --activate +# pnpm 版本 pin 到 9 系列: +# - lockfile (BillNote_frontend/pnpm-lock.yaml) 是 lockfileVersion '9.0',由 pnpm 9 生成 +# - pnpm 11+ 要求 Node 22+,与 node:20 不兼容(ERR_UNKNOWN_BUILTIN_MODULE) +# - 不用 @latest 避免上游 pnpm 升级悄悄破坏 CI +RUN corepack enable && corepack prepare pnpm@9.15.0 --activate WORKDIR /tmp/frontend diff --git a/README.md b/README.md index d4a8252..2fc3db2 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

BiliNote Banner

-

BiliNote v2.2.0

+

BiliNote v2.2.1

AI 视频笔记生成工具 让 AI 为你的视频做笔记

@@ -53,6 +53,10 @@ BiliNote 是一个开源的 AI 视频笔记助手,支持通过哔哩哔哩、Y - 笔记顶部视频封面 Banner 展示 - 工作区和生成历史面板支持折叠/展开 +### v2.2.1 修订 + +- 修复 v2.2.0 ghcr.io 镜像构建失败(pnpm@latest 拉到 11,与 Node 20 不兼容;pin 到 pnpm 9.15.0) + ### v2.2.0 新增 - **浏览器插件**笔记选项与 web 端完整对齐:style 9 个预设下拉、format 4 个 checkbox、extras 文本框、多模态视频理解开关