Cloudflare Pages 常見 5 個錯誤(含 ENOENT)與修正方法
部署失敗唔可怕,可怕係唔知由邊度查。
呢篇整合最常見嘅 5 個錯誤,等你可以用最短時間定位問題。
錯誤 1:ENOENT Could not read package.json
症狀
Log 出現:
npm error enoentCould not read package.json
原因
Cloudflare 喺錯誤路徑執行 build(Root directory 填錯)。
解法
- 到 Build configuration
- 將 Path / Root directory 改成 Astro 專案所在資料夾(例如
strong-nebula)
錯誤 2:Build command 失敗
症狀
npm run build 一開始就 fail。
原因
- package manager/lockfile 不一致
package.jsonscripts 無build
解法
- 確認
package.json有:"build": "astro build"
- 優先用同一個 package manager(npm 就全程 npm)
錯誤 3:Output directory 填錯
症狀
Build 成功,但部署階段報找不到輸出資料夾。
原因
Astro 預設輸出係 dist,但你填咗其他值。
解法
- Output directory 一律填
dist
錯誤 4:文章 build 失敗(content schema)
症狀
Build log 提示 frontmatter 欄位缺失或類型錯誤。
原因
src/content.config.ts 要求欄位唔齊,例如缺 title / description / pubDate。
解法
每篇文章至少補齊:
---
title: ...
description: ...
pubDate: 2026-04-22
---
錯誤 5:部署成功但網址唔係自訂網域
症狀
網站喺 *.workers.dev 開到,但唔係你想要嘅網域。
原因
你未加 Custom domain,或者 DNS / SSL 仲未完成傳播。
解法
- 專案 Settings -> Domains & Routes -> Add custom domain
- 等幾分鐘到幾小時完成 DNS/SSL
一個實用排查順序(由快到慢)
- 先睇 Root directory
- 再睇 Build command 同 scripts
- 再睇 Output directory
- 再睇文章 frontmatter
- 最後先處理網域/DNS
呢個順序可以幫你避免一開始就困喺 DNS 問題,先解決最常見 build 問題。
結語
Cloudflare Pages 本身已經好穩定,
大部分失敗都係設定層面,而唔係平台壞。
你只要有一套固定排查流程,下次 deploy 出問題都可以幾分鐘內搞掂。
常見問題 FAQ
ENOENT package.json 幾乎都係乜原因?
大多數情況係 Root directory 設定錯,Cloudflare 喺錯資料夾執行 build。
點樣最快確認係設定問題而唔係平台問題?
先喺本機跑 npm run build。本機正常而雲端失敗,通常就係部署設定問題。
每次部署前最少要檢查咩?
檢查三樣,Build command、Output directory、Root directory。呢三樣啱咗,成功率會高好多。
About me
你好,我係 YouOwnClub。呢度專注分享 Astro、Cloudflare Pages、WordPress 遷移同 AI 寫碼工作流,目標係幫你用更短時間把內容同網站真正上線。
我會持續更新可跟做嘅教學、踩坑記錄同流程模板,等你唔使再由零重複試錯。
想加快你嘅建站與發佈流程?
如果你想用 Astro + Cloudflare Pages 快速上線,或者想整理你嘅 AI 寫碼工作流,歡迎睇埋其他實作文章。