Wrangler 部署 Cloudflare Pages 失败排错
Cloudflare
Cloudflare GitOps network npx wrangler pages deploy dist 命令报错失败

核心结论
报错的核心原因是终端环境的网络不通,Wrangler 底层依赖 Node.js,而 Node.js 默认不会接管你电脑的系统代理,导致直连 Cloudflare API 时被墙或 DNS 解析失败。
原因排查
-
DNS 污染与拦截:
api.cloudflare.com在国内网络环境下经常面临 DNS 污染或连接超时。 -
终端代理隔离:即使你开了 Clash 或 V2Ray 等工具,VS Code 的 PowerShell 终端默认是直连的,流量根本没有走代理隧道。
可执行建议:终端手动注入代理
假设你的本地代理软件 HTTP 端口是 7890(请根据你实际使用的软件自行核实端口,通常 Clash 是 7890,v2ray 是 10808)。
在执行部署命令前,直接在现在的 VS Code 终端里输入以下两行命令,强行让当前窗口的网络走代理:
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
设置完之后,不需要重启终端,直接再次执行你的部署命令:
npx wrangler pages deploy dist
注:这两行环境变量设置只在当前终端窗口有效。关掉 VS Code 再打开就会失效,不会弄脏你的系统全局变量。
长效建议
在本地用命令去手动 push 构建产物(dist),这种做法只适合前期调试。长期来看,维护本地代理环境非常繁琐。
最标准的 Cloudflare Pages 部署流是:
-
把你的代码提交到 GitHub 仓库。
-
在 Cloudflare Pages 后台直接绑定这个 GitHub 仓库。
-
把构建命令设为
npm run build,输出目录设为dist。
这样以后你只需要专注写博客,执行 git push,Cloudflare 的服务器会在海外自动拉取代码、自动执行 Build、自动发布。彻底绕过本地网络环境的所有坑位。