You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境运行Flutter遇问题:执行flutter doctor时出现TLS错误

解决Windows下Flutter Doctor的TLS/pub upgrade错误

我之前帮好几个开发者解决过这个问题,大概率是网络环境限制或者Dart的证书配置出了问题,试试下面这些实用方案:

  • 检查并配置代理(如果需要)
    如果你所在的网络需要代理才能访问外网,得给Flutter和Dart正确配置代理信息。打开CMD或PowerShell,执行以下命令:

    set http_proxy=http://你的代理地址:端口号
    set https_proxy=https://你的代理地址:端口号
    

    要是代理需要验证,格式改成http://用户名:密码@代理地址:端口号就行。设置完重新跑flutter doctor试试。

  • 禁用不必要的系统代理
    有时候系统自动开启的代理可能有问题,或者你当前在不需要代理的网络环境里。可以打开Windows设置→网络和Internet→代理,关掉「自动检测设置」和「使用代理服务器」,重启命令行工具后再尝试。

  • 手动指定系统根证书
    部分Windows环境下Dart的根证书不全,导致TLS握手失败。可以手动指定系统自带的证书文件:

    1. 找到Flutter安装目录下的bin\cache\dart-sdk\bin文件夹
    2. 切换到该目录的命令行窗口,执行:
      pub upgrade --verbose --root-certs-file="C:\Windows\System32\certificates\root\ca-bundle.pem"
      
      (如果找不到这个路径,可以自行查找系统根证书的pem格式文件)
  • 重置Flutter缓存
    缓存文件损坏也可能引发这类问题,执行下面的命令重置缓存:

    flutter clean
    flutter pub cache repair
    flutter doctor
    
  • 切换国内Flutter镜像源
    要是你在国内网络环境,直接访问pub.dartlang.org容易出问题,切换到国内镜像能解决大部分网络相关的问题:
    在命令行执行:

    set PUB_HOSTED_URL=https://pub.flutter-io.cn
    set FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
    

    想永久生效的话,右键「此电脑」→属性→高级系统设置→环境变量,在系统变量里添加这两个变量和对应值,重启命令行后就能用了。

小提醒:如果以上方法都没效果,可以暂时关闭杀毒软件或防火墙,有时候它们会拦截Flutter的网络请求。

内容的提问来源于stack exchange,提问作者vinSan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:56:40