【Flutter】flutter doctor network resources 报错,解决国内开发环境问题

flutter doctor network resources 主要检查flutter开发工具运行过程中依赖的网络资源来源站是否可以正常访问,但国内通常都是无法访问的

下面介绍windows下的设置方法,如果你熟练使用mac或linux,通常会更自由,环境变量不会出现不识别的情况,参考本文档依旧可以完成配置

三大资源站分别是

  1. maven.google.com google的maven库资源站
  2. pub.dev dart和flutter的官方开放库资源站
  3. github.com 不用多说

解决maven.google.com 的问题

  1. 首先找到你的flutterSDK的位置(或许可以理解为flutter的安装路径)
  2. 使用支持多编码格式的文档编辑软件打开(例如VSCode):flutterSDK的位置packagesflutter_toolslibsrchttp_host_validator.dart
  3. 修改内容:maven.google.com 修改为dl.google.com/dl/android/maven2
  4. 保存文档
  5. 删除:flutterSDK的位置bin目录下的cache文件夹下的全部内容(可直接删除cache)
  6. 重新运行flutter doctor正常情况下既不会出现maven的资源问题

解决pub.dev 的问问题

windows请在图形窗口下设置全局环境变量值,既可解决pub.dev的问题,通常你可以在windows搜索框中搜索环境变量(version>win10),既可出现设置界面,本人建议设置系统环境变量,当然通常用户变量也是生效的

fluter中文社区源
SET FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
SET PUB_HOSTED_URL=https://pub.flutter-io.cn
清华大学源
SET FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
SET PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub

解决github.com 的问题

首先如果你所在的地区或网络环境可以正常访问github服务的所有端口,那么祝你flutter体验愉快

如果不行,首先考虑使用指定DNS即HOST文件的方式,指向可以正常访问的github.com地址,可以去搜索一些IP138或站长工具网站中的DNS工具解析一下github.com的指向IP,找一些换一下,写入HOST文件,看看有的可以用。。。。但我这里不行所以

只能设置代理,为什么不一开始设置代理解决呢。。。这首先需要看你使用的软件,有的软件天然就解决了一切问题,但我的不行,大多数软件是无法劫持所有软件的http代理的,尤其是控制台

(请你不要再这个帖子下,问一些不应该问的问题,关于代理问题,本人不做任何解答,只解释为什么有的代理没生效)

这里需要生效的是HTTPS_PROXY这个变量,理论上设置代理可以解决所有网络问题

如果你使用的是VSCode你需要打开VSCode的settings.json文件,直接在VSCode界面上方的搜索中搜索settings.json打开就可以了

在json文件尾部最后一个}前加入(你应该需要懂json语法)

,
    "terminal.integrated.env.windows": {
        "http_proxy": "http://127.0.0.1:10001",
        "https_proxy": "http://127.0.0.1:10001",
    }

上方的127.0.0.1:10001只是一个虚构的代理地址,你应该找到你的代理地址,如果你找不到我也没办法,请不要在帖子下方问我

如果你使用的不是VSCode,建议你在Windows视窗界面设置系统环境变量HTTP_PROXY和HTTPS_PROXY,你的HTTPS_PROXY中的格式通常依旧写的是: http://your_address:your_part

windows下对于flutter来说,再控制台设置往往没有生效,至少我是这样,如果你仅想单次生效可以参考第二点中的cmd命令,可以设置临时环境变量,但这对我来说往往没有作用。

另外每次设置完系统环境变量需要完全重启vscode,重开一个控制台是不完美的(我不理解),

最后如果flutter doctor成功识别了你的代理,则会提示你NO_PROXY is not set,如果你没设置NO_PROXY,通常你无需在意这条提示。

好了本文就到这里,如果有问题的话,可以私信我,我再重申一下,请不要在本贴下方讨论一些关于代理的问题!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>