我正在使用 Linux Ubuntu 18.04.1 LTS。我正在通过 git bash 或终端或直接从 Visual Studio Code 创建一个新的 Flutter 项目,但收到错误消息:
尝试在以下位置查找包 cupertino_icons 时出现 TLS 错误 https://pub.dartlang.org
在 Flutter 项目的 pubspec.yaml 文件中,我删除了“cupertino_icons:^0.1.2”行,试图解决该问题,但在另一个包上遇到了相同的错误:
尝试在以下位置查找向量_数学包时出现 TLS 错误 https://pub.dartlang.org
我用谷歌搜索了很多,但找不到正确的解决方案。请告诉我这个问题的主要原因以及如何解决?
对于那些通过谷歌找到答案的人来说,这对我有用。我在公司防火墙 (Zscaler) 后面运行 Windows 10 x64,并且我的客户端使用自签名证书。我最终找到了这个 Github 评论,它描述了创建一个指向自签名证书的系统环境变量。创建变量并重新启动命令提示符后,我就能够执行像
flutter pub get
这样的命令。
您可能需要通过设置以下环境变量来设置自签名证书以使其正常工作:
在 Linux 上:
导出 DART_VM_OPTIONS="--root-certs-file={path.to.certificate.file}"
在 Windows 上:
设置 https_proxy="--root-certs-file={path.to.certificate.file}"
如果您使用代理,请同时设置代理变量:
Linux:
导出 https_proxy="用户名:密码@主机名:端口"
窗户:
设置 https_proxy=用户名:密码@主机名:端口
就我而言,这是由于我们组织中的网络权限造成的。我尝试使用另一个具有完全访问权限的网络,我的问题得到了解决。
在虚拟机中,如果您的网络工作正常,请检查日期和时间。
它对我有用
我的例子:
1. 在 pubspec.yaml 文件中添加依赖:
依赖关系:
http:
git:
网址:git://github.com/dart-lang/http.git
http_解析器:
依赖:传递
描述:
名称:http_parser
网址:“https://pub.dartlang.org”
来源:主办
版本:“3.1.3”
查看更多:使用 Flutter 包
我确实尝试了很多解决方案,但当我使用 VPN 时它起作用了..这似乎发生在某些国家。
我在 Windows 上使用 ZScaler。幸运的是,我的公司 IT 服务台团队的某人给我发送了 ZScaler 根证书。文件名为 ZscalerRootCA.cer 然后,我对 DART_VM_OPTIONS 使用以下值
--root-certs-file=C:\$PATH_TO_ZscalerRootCA.cer
我通过执行 Windows 更新故障排除解决了我的问题。
我多次遇到这个问题。这就是我所做的:
如果我的 VPN 已打开,我会将其关闭。如果我的 VPN 关闭,我会打开它。
确保系统的日期和时间正确。