@@ -35,6 +35,24 @@ CloudFlare部署方案,以及其他所有使用 静态导出的方案,默认
3535> NotionNext如何配置Algolia
3636
3737
38+ ## ⚠️ Cloudflare Pages 构建镜像 V1 弃用通知
39+
40+ > ** 🚨 重要:V1 构建镜像将于 2026 年 9 月 15 日弃用**
41+ >
42+ > 如果你正在使用 Cloudflare Pages 的 ** V1 构建镜像** (旧版环境),你的项目将在 2026 年 9 月 15 日被自动迁移到 V3。
43+ > 建议你提前手动升级,以避免自动迁移可能带来的构建问题。
44+ >
45+ > ** V3 构建镜像的核心变化:**
46+ > - Node.js 默认版本从 12.18.0 升级到 ** 22.16.0**
47+ > - Yarn 默认版本从 1.22.4 升级到 ** 4.9.1** (Berry)
48+ > - npm 默认版本从 6.14.4 升级到 ** 10.9.2**
49+ > - Ubuntu 从 18.04 升级到 ** 22.04.2**
50+ >
51+ > ** 关键注意事项:** V3 默认使用 Yarn 4.x(Berry),不再兼容 Yarn 1.x 格式的 ` yarn.lock ` 文件。
52+ > 必须设置 ` YARN_VERSION=1.22.22 ` 环境变量以保持兼容。
53+ >
54+ > 详情参见下方 [ V3 构建镜像迁移指南] ( #v3-构建镜像迁移指南 ) 。
55+
3856## 开始
3957
4058访问CloudFlarePage
@@ -74,14 +92,31 @@ yarn export
7492![ Untitled] ( /legacy/010491fba650a2e6.png )
7593
7694
95+ ### 构建镜像版本选择
96+
97+ Cloudflare Pages 提供 V1、V2、V3 三个版本的构建镜像。** V1 将于 2026-09-15 弃用** ,建议现在切换到 V3。
98+
99+ 在项目 Dashboard 中操作:** Settings** > ** Build** > ** Build image version** > 为 ** Production** 和 ** Preview** 环境都选择 ** v3** 。
100+
77101### 环境变量
78102
103+ 在项目 ** Settings** > ** Environment variables** 中添加以下变量,同时应用到 Production 和 Preview 环境:
104+
105+ | 变量名 | 值 | 说明 |
106+ | --------| -----| ------|
107+ | ` NODE_VERSION ` | ` 20 ` | Node.js 版本(V3 默认 22,项目使用 20) |
108+ | ` YARN_VERSION ` | ` 1.22.22 ` | ** 必需** :V3 默认 Yarn 4.x,必须指定 Yarn 1.x |
109+ | ` BUILD_MODE ` | ` true ` | 启用构建模式 |
110+ | ` EXPORT ` | ` true ` | 启用静态导出 |
111+
112+ > ** 🔑 ` YARN_VERSION ` 是最关键的变量** :V3 默认使用 Yarn 4.9.1(Berry),无法读取本项目 Yarn 1.x 格式的 ` yarn.lock ` ,必须设置此变量。
113+
114+ V3 还支持通过文件检测 Node.js 版本(` .nvmrc ` 和 ` .node-version ` ),本项目已包含这两个文件作为双保险。
115+
79116配置效果如下
80117
81118![ image.png] ( /legacy/ff8e259828f3e6cf.png )
82119
83- 配置说明,新版本的NotionNext中,NODE_VERSION要更新为` **20** ` 版本。
84-
85120最后点击保存并部署即可。
86121
87122
@@ -92,6 +127,61 @@ yarn export
92127![ Untitled] ( /legacy/2283354350ed2532.png )
93128
94129
130+ ## V3 构建镜像迁移指南
131+
132+ ### 构建镜像版本对比
133+
134+ | 组件 | V1(旧版,即将弃用) | V2 | V3(推荐) |
135+ | ------| ---------------------| -----| -----------|
136+ | Node.js | 12.18.0 | 18.20.8 | ** 22.16.0** |
137+ | Yarn | 1.22.4 | 4.1.1 | ** 4.9.1** |
138+ | npm | 6.14.4 | 9.6.6 | ** 10.9.2** |
139+ | Ubuntu | 18.04 | 22.04.2 | ** 22.04.2** |
140+ | 弃用日期 | ** 2026-09-15** | 2027-02-23 | N/A(最新) |
141+
142+ ### V3 迁移步骤
143+
144+ 1 . 进入 [ Cloudflare Dashboard] ( https://dash.cloudflare.com/ ) > ** Workers & Pages** > 选择你的 Pages 项目
145+ 2 . 前往 ** Settings** > ** Build** > ** Build image version**
146+ 3 . 为 ** Production** 和 ** Preview** 环境都选择 ** v3**
147+ 4 . 在 ** Settings** > ** Environment variables** 中添加 ` YARN_VERSION ` = ` 1.22.22 `
148+ 5 . 确保 ` NODE_VERSION ` 设置为 ` 20 ` (或依赖 ` .nvmrc ` / ` .node-version ` 文件自动检测)
149+ 6 . 保存设置,触发一次新的部署验证构建成功
150+
151+ ### V3 重要限制
152+
153+ V3 构建镜像与 V1/V2 有以下行为差异,需要注意:
154+
155+ - ** 不读取 ` package.json ` 的 ` engines ` 字段** :Node.js 和包管理器版本不会从 ` engines ` 中检测
156+ - ** 不检测 ` yarn.lock ` 文件版本** :不会根据 lockfile 格式自动选择 Yarn 版本
157+ - ** 不检测 ` pnpm-lock.yaml ` 文件版本** :需要手动设置 ` PNPM_VERSION `
158+ - ** 不支持 Node.js 版本代号** :如 ` hydrogen ` 、` lts/hydrogen ` ,必须使用数字版本号
159+ - ** 不支持 pipenv 和 Pipfile**
160+
161+ ### V3 完整配置清单
162+
163+ | 配置项 | 类型 | 值 | 说明 |
164+ | --------| ------| -----| ------|
165+ | Build command | 构建设置 | ` yarn export ` | 静态导出命令 |
166+ | Output directory | 构建设置 | ` out ` | 静态文件输出目录 |
167+ | Build image version | 构建设置 | ** v3** | 生产和预览环境都选 v3 |
168+ | ` NODE_VERSION ` | 环境变量 | ` 20 ` | Node.js 20.x |
169+ | ` YARN_VERSION ` | 环境变量 | ` 1.22.22 ` | ** 必需** — 保持 Yarn Classic |
170+ | ` BUILD_MODE ` | 环境变量 | ` true ` | 构建模式 |
171+ | ` EXPORT ` | 环境变量 | ` true ` | 静态导出模式 |
172+ | ` .nvmrc ` | 项目文件 | ` 20.18.0 ` | Node 版本文件(V3 支持) |
173+ | ` .node-version ` | 项目文件 | ` 20.18.0 ` | Node 版本文件(V3 支持) |
174+
175+ ### 版本固定最佳实践
176+
177+ > ** 💡 最佳实践**
178+ >
179+ > 为避免 V3 构建镜像的自动软件更新导致构建失败,建议:
180+ > 1 . 通过环境变量固定关键工具的版本(如 ` YARN_VERSION ` 、` NODE_VERSION ` )
181+ > 2 . 关注 [ Cloudflare Changelog] ( https://developers.cloudflare.com/changelog/ ) 了解预装软件的更新计划
182+ > 3 . 主要版本更新前会提前 3 个月通知,minor 更新可能无通知
183+ > 4 . 在 Preview 环境先验证新配置,再应用到 Production
184+
95185## FAQ
96186
97187部署失败?如果你的构建日志中出现:
@@ -100,7 +190,11 @@ yarn export
100190YN0070: Migrating from Yarn 1; automatically enabling the compatibility node-modules linker 👍
101191```
102192
103- 可能是Cloudflare升级环境导致不兼容,解决方法:** 降级为旧版构建环境,然后点击重试**
193+ 或类似 Yarn 版本不兼容的错误,说明你正在使用 V3 构建镜像但未配置 ` YARN_VERSION ` 。
194+
195+ 解决方法:** 按照上方 [ V3 构建镜像迁移指南] ( #v3-构建镜像迁移指南 ) 配置环境变量,而不是降级到旧版环境** 。
196+
197+ 如果已正确配置 ` YARN_VERSION=1.22.22 ` 仍有问题,可临时降级为旧版构建环境:
104198
105199![ Untitled] ( /legacy/8094169b65d52e78.png )
106200
0 commit comments