本文最后更新于 2026年5月22日。
构建过程失败

错误日志
2026-03-23T10:04:35.500Z
2026-03-23T10:04:35.502Z ✘ [ERROR] Asset too large.
2026-03-23T10:04:35.502Z
2026-03-23T10:04:35.502Z Cloudflare Workers supports assets with sizes of up to 25 MiB. We found a file /opt/buildhome/repo/.git/objects/pack/pack-d24c9ca86579b483413c8b8665a2a15288504afe.pack with a size of 111 MiB.
2026-03-23T10:04:35.502Z Ensure all assets in your assets directory "/opt/buildhome/repo" conform with the Workers maximum size requirement.
2026-03-23T10:04:35.502Z
2026-03-23T10:04:35.502Z
2026-03-23T10:04:35.528Z 🪵 Logs were written to "/opt/buildhome/.config/.wrangler/logs/wrangler-2026-03-23_10-04-32_877.log"
2026-03-23T10:04:35.648Z Failed: error occurred while running deploy command
这个问题很清晰,报错的核心原因是:Cloudflare Workers 试图将你的整个代码仓库(包括巨大的 Git 历史记录)作为静态资源上传,而其中一个 Git 缓存文件超过了 25 MiB 的限制。
🔍 根本原因分析
-
错误的资产目录:日志显示
Output Directory: .。这意味着 Wrangler 把当前根目录下的所有文件都当作要发布的网页资源。 -
包含隐藏文件:Cloudflare 扫描到了
.git文件夹(Git 的版本历史)。 -
文件超限:
.git/objects/pack/...这个文件高达 111 MiB,远超 Workers 单个文件 25 MiB 的限制。
🛠️ 解决方案
你需要告诉 Cloudflare 哪些才是真正需要部署的文件,并避开 .git 文件夹。
方法 A:修改 Cloudflare Pages/Workers 仪表板配置(推荐)
如果你是在 Cloudflare 后台配置的 GitHub 自动部署,请检查以下设置:
-
构建命令 (Build command):如果你的项目有构建步骤(如
npm run build),请确保填写。如果没有,可以保持为空或填入exit 0。 -
构建输出目录 (Build output directory):这是关键。 * 如果你的项目是纯静态 HTML,且所有文件都在根目录,请确保排除
.git。- 更好的做法是:将需要发布的文件放在一个子目录(如
public或dist),然后将此项设置为该目录名。
- 更好的做法是:将需要发布的文件放在一个子目录(如
把静态文件都放入public文件夹
然后构建目录不选择根目录,选择public目录就可以了

方法 B:创建/修改 wrangler.jsonc (或 wrangler.toml)
在你的 GitHub 仓库根目录下添加或修改配置文件,手动指定资产路径:
Code snippet
{
"name": "ainia-love",
"compatibility_date": "2025-09-27",
"assets": {
// 不要指向 ".",指向你真正的存放网页文件的文件夹
// 比如 "public"、"dist" 或者 "web"
"directory": "./dist"
},
"compatibility_flags": [
"nodejs_compat"
]
}
方法 C:使用 .ignore 文件
如果非要部署根目录(.),请在根目录创建一个 .wranglerignore 文件(如果 Wrangler 版本支持)或者确保 .gitignore 包含了所有非必要文件。
但在 Cloudflare Pages/Workers Assets 模式下,最彻底的方法是不要将整个项目根目录设为 Assets Directory。
💡 建议步骤
-
整理文件:在你的仓库里建一个文件夹(例如
public),把你的index.html和图片等放进去。 -
修改设置:在 Cloudflare 仪表板的项目设置里,将 Output directory 改为
public。 -
重新推送:提交代码到 GitHub,Cloudflare 会自动重新触发部署。