Wrangler 部署 Cloudflare Pages 失败排错

Wrangler 部署 Cloudflare Pages 失败排错


Cloudflare
Cloudflare GitOps network

npx wrangler pages deploy dist 命令报错失败

image.png

核心结论

报错的核心原因是终端环境的网络不通,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 部署流是:

  1. 把你的代码提交到 GitHub 仓库。

  2. 在 Cloudflare Pages 后台直接绑定这个 GitHub 仓库。

  3. 把构建命令设为 npm run build,输出目录设为 dist

这样以后你只需要专注写博客,执行 git push,Cloudflare 的服务器会在海外自动拉取代码、自动执行 Build、自动发布。彻底绕过本地网络环境的所有坑位。

© 2026 Personal Website
Developed by Ryan 🫡