资讯动态

QT 5.15.0在线安装卡在29%?Fiddler镜像改写与分批安装实战

发布时间:2026/10/27 20:05:01 来源:尧图企业网站定制
简介这份PDF文档面向需要在Windows平台搭建Qt开发环境的程序员与嵌入式开发者针对Qt 5.15.0改为在线安装后官方源下载缓慢、安装程序频繁崩溃、常规镜像代理仍因数据量过大而中途失败等痛点给出经过反复验证的完整解决思路。文档以Fiddler 4代理配合清华、北外、华中科大等国内镜像站点为核心并采用先装基本模块、再通过控制面板“更改”方式少量多次追加组件的策略规避大体积下载导致的内存耗尽与中断问题同时附有关键规则配置与操作截图便于读者按图复现。资源包仅含1个PDF文件大小约833KB轻量易存适合离线查阅与团队内共享。目前已有12105人学习下载说明该方案在实际安装场景中具有较高的参考价值可帮助读者少走弯路快速完成Qt 5.15.0开发环境的部署。1. QT 5.15.0 在线安装为什么 29% 成了很多人的终点QT 5.15.0 之后官方把安装器改成了在线拉取模式安装包本身只有几十兆真正的模块全靠安装时从 download.qt.io 现下。这个改动对网络条件好的环境没什么感觉但对国内大多数开发机来说基本等于把「装 QT」变成了一场耐心测试进度条爬到 29% 左右卡死、安装器无响应、重试三次全崩是相当常见的结局。我见过不止一个开发者在这步放弃转去找来路不明的离线包结果组件版本对不上编译时又是一堆新坑。这篇记录解决的就是这个具体场景用 Fiddler 4 做请求改写把官方源换成国内镜像再配合「先装基本模块、后补组件」的分批策略把 QT 5.15.0 在线安装这件事真正跑通。适合正在装 QT 5.15.0 或相近版本、被在线安装卡住的人也适合想搞清楚这套代理改写原理、以后自己换镜像的熟手。装之前先把版本和工具列清楚后面每一步才不会乱。2. 装前环境与工具版本先把这几样对齐2.1 版本对照表与选择理由这套方案对版本不算苛刻但几个关键件必须对得上否则 Fiddler 的规则脚本会不生效或者安装器根本不走代理。我一般按下表准备装之前逐项核对一遍。组件推荐版本说明QT 在线安装器qt-unified-windows-x86-3.2.3-online.exe原文验证过的安装器版本3.2.x 系列规则路径匹配稳定抓包代理工具Fiddler 4需要能执行 OnBeforeRequest 脚本Classic 版即可操作系统Windows 10 64 位安装器为 x86 命名但在 64 位系统上正常运行镜像源清华 TUNA主、北外、华中科大备路径前缀各不相同见 2.3 节磁盘空间基本模块约 35 GB全量组件 15 GB 以上分批装时预留足够空间避免中途写满版本上最容易翻车的是安装器。QT 官方后续更新过 unified 安装器路径匹配规则和请求结构都有变化原文这套/online/前缀的改写逻辑是针对 3.2.3 验证的。如果你手上的安装器版本差得远规则可能匹配不上表现为 Fiddler 里看不到 download.qt.io 的请求被改写。稳妥做法是先按 3.2.3 走通再考虑换版本。2.2 Fiddler 4 的安装与基础配置Fiddler 4 直接装官方安装包即可装完先做两件事开启 HTTPS 解密、确认系统代理被接管。QT 安装器的下载请求走的是 HTTPS不解密的话 Fiddler 只能看到隧道改不了 Host 和路径。# Fiddler 4 基础配置检查清单在 GUI 中逐项确认 # 1. Tools - Options - HTTPS # - 勾选 Capture HTTPS CONNECTs # - 勾选 Decrypt HTTPS traffic # - 首次会提示安装根证书选 Yes # 2. Tools - Options - Connections # - Fiddler listens on port: 8888默认 # - 勾选 Allow remote computers to connect本机安装可不勾 # 3. 确认系统代理已指向 127.0.0.1:8888这里的关键是根证书。Fiddler 解密 HTTPS 靠的是自己签发证书安装器如果不信任这张证书请求会直接失败而不是被改写。首次启动 Fiddler 时弹出的证书安装提示必须点同意装完可以在「 certmgr.msc → 受信任的根证书颁发机构」里确认有一条 DO_NOT_TRUST_FiddlerRoot。少了这步后面规则写得再对也没用这是很多人第一次尝试失败的真实原因。2.3 镜像源路径差异三个源不能照抄原文给了三个国内镜像但它们的路径前缀并不一致直接复制同一段规则会 404。这是这套方案里最容易被忽略的细节我把它单独拎出来说。清华 TUNAdownload.qt.io/online/替换为mirrors.tuna.tsinghua.edu.cn/qt/online/北外 BFSUdownload.qt.io/online/替换为mirrors.bfsu.edu.cn/qt/online/华中科大download.qt.io/online/替换为mirrors.ustc.edu.cn/qtproject/online/注意华中科大那条多了一层qtproject路径结构和其他两个不同。规则里如果只改 Host 不改 Path请求会落到镜像站不存在的目录上返回 404安装器表现为「下载失败但不说原因」。所以每条规则必须同时改hostname和PathAndQuery两者缺一不可。实际使用时建议一次只启用一个源跑不通再换下一个别三个规则同时开着互相干扰。3. 配置 Fiddler 规则把官方源改写到镜像3.1 打开 OnBeforeRequest 并写入改写脚本Fiddler 的请求改写入口在 Rules 菜单下的 Customize Rules会打开一个 FiddlerScript 编辑器。原文的操作路径是 GO 菜单里的「to OnBeforeRequest」本质是跳到脚本里处理请求前事件的函数位置。找到OnBeforeRequest函数把镜像改写逻辑插进去。// FiddlerScript: 放在 OnBeforeRequest 函数体内 // 作用把 QT 安装器发往官方源的在线安装请求改写到清华镜像 if (oSession.HostnameIs(download.qt.io) oSession.PathAndQuery.StartsWith(/online/)) { // 改目标主机为清华 TUNA 镜像 oSession.hostname mirrors.tuna.tsinghua.edu.cn; // 路径前缀同步替换/online/ 换成 /qt/online/ oSession.PathAndQuery oSession.PathAndQuery.Replace(/online/, /qt/online/); // 调试用在 Fiddler 会话列表里打标记方便确认规则命中 oSession[ui-color] green; }逐行说明HostnameIs精确匹配官方下载域名避免误伤其他请求StartsWith(/online/)限定只改写在线安装相关路径QT 安装器拉组件清单和包体都走这个前缀hostname赋值改的是 TCP 连接目标PathAndQuery改的是 HTTP 请求行里的路径两个都改才算完整重定向。最后那行ui-color是我自己加的调试手段命中的请求在列表里变绿一眼能看出规则有没有生效排查时非常省事。3.2 规则生效验证与多源切换规则写完保存Fiddler 会自动重载脚本。这时启动 QT 安装器在 Fiddler 会话列表里应该能看到大量绿色标记的请求Host 显示为 mirrors.tuna.tsinghua.edu.cn。如果一条绿色都没有说明规则没命中按下面顺序查安装器是否真的走了系统代理Fiddler 状态栏应显示 Capturing、HTTPS 是否已解密、路径前缀是否和安装器实际请求一致。切换镜像源时把当前规则整段注释掉换成另一段即可。原文里北外和华中科大两段是注释状态就是为了方便切换。我一般会把三段规则都写好用注释控制启用哪一段改完保存立刻生效不用重启 Fiddler。这里有个小坑FiddlerScript 是大小写敏感的PathAndQuery写成pathandquery会直接报脚本错误整个规则失效保存时留意编辑器下方的错误提示。3.3 为什么单靠镜像还不够数据量问题镜像解决了「连不上官方源」的问题但没解决「一次拉太多」的问题。原文明确提到即便走镜像按正常方式全量安装依然会失败因为数据量太大Fiddler 4 会把内存耗尽通常在 29% 左右崩掉。这不是镜像的锅是安装器一次性请求的组件清单和包体总量超出了代理进程能扛的范围。所以这套方案的核心其实是两步镜像改写负责「连得上、下得快」分批安装负责「别一次压垮」。只做前者大概率还是卡在 29%只做后者不走镜像慢到没法用。两步配合才是原文说的「完美解决」。下一章就讲分批策略具体怎么落地。4. 分批安装先装基本模块再补组件4.1 第一轮只装最小集合启动安装器后登录 QT 账号在线安装器要求到组件选择页时只勾选最基本的一组对应版本的 Desktop 编译套件加上安装器默认带的基础工具。不要在这一步勾选 Android、iOS、WebAssembly、源码包、示例这些大块头。目标是让第一轮下载量控制在代理能承受的范围内先把安装器跑完、目录结构建起来。# 第一轮安装的组件选择原则在安装器 GUI 中操作 # 必选 # Qt 5.15.0 - MinGW 64-bit或 MSVC 2019 64-bit按你的编译器选一个 # Developer and Designer Tools - MinGW / Qt Creator默认勾选保留 # 暂不勾选 # Android / iOS / WebAssembly 套件 # Sources源码包体积大 # Examples示例可后补 # Qt Charts / Qt Data Visualization 等附加模块第一轮跑通的意义不只是装上了东西更是验证了「Fiddler 规则 镜像 安装器」这条链路是通的。如果第一轮都过不去别急着加组件先回到第 3 章查规则。第一轮成功后QT 的主目录、维护工具 MaintenanceTool 都已经就位后面补组件靠的就是它。4.2 用控制面板「更改」逐批追加第一轮装完补组件不走重新运行在线安装器而是走系统「控制面板 → 程序和功能 → 找到 QT → 更改」。这会拉起 MaintenanceTool进入组件增删界面已经装好的组件显示为选中状态你只需要勾选新的一批点下一步它只下载新增部分。分批的粒度我一般这样切第二批加编译套件的另一套比如先装了 MinGW这轮加 MSVC第三批加常用附加模块Charts、Network 相关扩展第四批才碰 Android 或 WebAssembly 这种大套件。每批之间确认上一批装完、目录完整再开下一批。原文说的「少量多次」落到操作上就是这个节奏每批控制在几个 GB 以内Fiddler 内存压力就下来了。4.3 每批之后的检查点每批装完别急着开下一批花两分钟做三个检查QT 安装目录下对应版本文件夹是否出现新组件目录、MaintenanceTool 里该组件是否显示为已安装、Fiddler 会话列表里这批请求是否全部返回 200。任何一项不对说明这批没装干净重跑这一批比继续往下加更省事。我吃过亏一批没装完就加下一批结果组件依赖错乱最后只能整个卸载重来前面几批的时间全白费。5. 避坑与排查五条踩过的真实记录5.1 现象Fiddler 里看不到任何 QT 请求原因通常是安装器没走系统代理或者 Fiddler 没处于 Capturing 状态。QT 在线安装器有的版本会读系统代理设置有的走自己的网络栈。解决先确认 Fiddler 左下角显示 Capturing再在安装器启动前把系统代理明确设为 127.0.0.1:8888如果安装器仍不走代理检查它是否有独立的代理配置项或改用全局代理模式让流量强制经过 Fiddler。5.2 现象规则命中但下载 404这是路径前缀没对上。三个镜像的路径结构不同清华是/qt/online/华中科大是/qtproject/online/只改 Host 不改 Path 就会 404。解决对照 2.3 节的路径表确认PathAndQuery的 Replace 参数和当前启用的镜像一致在 Fiddler 里点开一条 404 请求看实际请求的完整 URL和镜像站目录结构比对差哪层补哪层。5.3 现象进度到 29% 左右安装器崩溃原文点名的经典问题根因是单次请求数据量过大Fiddler 内存耗尽。解决严格执行分批策略第一轮只装最小集合后续用控制面板「更改」逐批追加同时关掉 Fiddler 里不必要的会话记录清空会话列表、限制会话数量减少内存占用。分批是主手段清会话是辅助。5.4 现象HTTPS 请求显示为隧道改不了Fiddler 没解密 HTTPS。解决Tools → Options → HTTPS 里勾选 Decrypt HTTPS traffic首次会提示安装根证书必须同意装完在证书管理器里确认 Fiddler 根证书在受信任列表。如果之前误点过「不再提示」需要手动在 Fiddler 里重置证书Actions → Reset All Certificates再重装。5.5 现象某批组件装到一半失败重试仍失败多半是镜像站该时段不稳定或本地缓存了半截文件。解决先换另一个镜像源改规则里的 Host 和 Path再重试这一批如果还不行清掉 QT 安装目录下对应组件的临时下载缓存重新走 MaintenanceTool。别在同一个源上反复硬试换源往往一次就过。6. 装完怎么验证三步确认这套环境真的能跑装完不等于装对我一般用三步验证从「装上了」到「能编译」逐层确认。第一步看目录和组件清单打开 QT 安装目录确认5.15.0下有你选的编译套件文件夹如mingw81_64或msvc2019_64Tools下有对应的编译器和 Qt Creator。第二步用 MaintenanceTool 核对启动它进入组件管理已装组件应全部显示选中没有「部分安装」的异常状态。第三步是真正跑一次编译这是最硬的验证。新建一个最小 Qt Widgets 工程用 Qt Creator 打开选对 Kit直接构建运行。# 命令行验证用 qmake make 编译一个最小工程MinGW 环境示例 # 1. 把 QT 的 bin 目录加入当前终端 PATH set PATHC:\Qt\5.15.0\mingw81_64\bin;C:\Qt\Tools\mingw810_64\bin;%PATH% # 2. 确认 qmake 版本应输出 5.15.0 qmake -v # 3. 在工程目录下生成 Makefile 并编译 qmake hello.pro mingw32-make -j4 # 4. 运行产物能弹出窗口即链路完整 release\hello.exeqmake -v输出里版本号必须是 5.15.0如果显示别的版本说明 PATH 里混进了旧 QT这是多版本共存机器上的高频问题。mingw32-make -j4的-j4是并行编译数按 CPU 核数调编译报错时先降到-j1看完整错误。最后能弹出窗口说明编译器、QT 库、运行库三者都对上了这套安装才算真正跑通。从那以后我每次装 QT不管在线还是离线都强制走一遍「qmake -v 最小工程编译」这两步绝不靠安装器显示「完成」就下结论。安装器说完成但 Kit 配错、编译器缺失的情况我遇到过不止一次早验证早发现比写完一屏代码再回头查环境省太多时间。这套 Fiddler 改写加分批安装的路子核心就一句话连得上靠镜像装得完靠分批装得对靠编译验证。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑