【问题标题】:Got TLS error trying to find package ABC at https://pub.dartlang.org尝试在 https://pub.dartlang.org 查找包 ABC 时出现 TLS 错误
【发布时间】:2019-04-21 01:43:21
【问题描述】:

我正在使用 Linux Ubuntu 18.04.1 LTS。我正在通过 git bash 或终端或直接从 Visual Studio Code 创建一个新的 Flutter 项目,但收到一条错误消息:

尝试在以下位置查找包 cupertino_icons 时出现 TLS 错误 https://pub.dartlang.org

在 Flutter Project 的 pubspec.yaml 文件中,我删除了“cupertino_icons: ^0.1.2”这一行以尝试解决问题,但在另一个包中出现相同的错误:

在尝试查找包 vector_math 时遇到 TLS 错误 https://pub.dartlang.org

我搜索了很多,但找不到正确的解决方案。请告诉我这个问题的主要原因以及如何解决它?

【问题讨论】:

    标签: visual-studio-code dart flutter


    【解决方案1】:

    在虚拟机中,如果您的网络正常,请检查日期和时间。

    【讨论】:

      【解决方案2】:

      我通过执行 windows 更新疑难解答解决了我的问题。

      【讨论】:

        【解决方案3】:

        我在 Windows 上使用 ZScaler。幸运的是,我的公司 IT 服务台团队的某个人发送了 ZScaler 根证书。文件名为 ZscalerRootCA.cer 然后,我为 DART_VM_OPTIONS 使用了以下值

        --root-certs-file=C:\$PATH_TO_ZscalerRootCA.cer

        【讨论】:

          【解决方案4】:

          我确实尝试了很多解决方案,但是当我使用 VPN 时,它确实有效.. 这似乎发生在某些国家/地区。

          【讨论】:

            【解决方案5】:

            对于那些通过 Google 找到答案的人来说,这对我有用。我在企业防火墙 (Zscaler) 后面运行 Windows 10 x64,我的客户端使用自签名证书。我最终找到了this Github comment,它描述了创建一个指向自签名证书的系统环境变量。创建变量并重新启动命令提示后,我就可以执行flutter pub get 之类的命令。

            【讨论】:

            • 在哪里可以找到自签名证书?
            • 如果您正在与使用自签名证书的组织合作或为使用自签名证书的组织工作,那么很可能有人可以帮助您获得证书。我认为也可以从您的浏览器或通过 openssl (superuser.com/q/97201/485406) 找到证书。
            【解决方案6】:

            它对我有用
            我的例子:
            1. 向 pubspec.yaml 文件添加依赖:

            依赖关系:
            http:
            混帐:
            网址:git://github.com/dart-lang/http.git

            1. 运行 cmd 时:获得颤振包。 “http_parser”包会出现错误
            2. 现在,从https://pub.dev/(版本选项卡 -> 存档)下载“http_parser”包并将其解压缩到(如果不存在)%FLUTTER_HOME%.pub-cache\hosted\pub.dartlang.org
            3. pubspec.lock 文件中添加新行(在项目的根文件夹中)

            http_parser:
            依赖:传递
            说明:
            名称:http_parser
            网址:“https://pub.dartlang.org
            来源:托管
            版本:“3.1.3”

            1. 最后,再次运行 cmd:flutter packages get

            查看更多:Using Flutter Package

            【讨论】:

              【解决方案7】:

              在我的情况下,这是由于我们组织中的网络权限。我尝试了另一个具有完全访问权限的网络,我的问题得到了解决。

              【讨论】:

                【解决方案8】:

                您可能需要设置一个自签名证书,通过设置以下环境变量使其正常工作:

                在 Linux 上:

                export DART_VM_OPTIONS="--root-certs-file={path.to.certificate.file}"

                在 Windows 上:

                设置 https_proxy="--root-certs-file={path.to.certificate.file}"

                如果您使用代理,请同时设置代理变量:

                Linux:

                导出 https_proxy="USERNAME:PASSWORD@hostname:port"

                窗户:

                设置 https_proxy=USERNAME:PASSWORD@hostname:port

                【讨论】:

                • 你能解释一下我怎样才能得到这个自签名证书吗?
                • 可能在您的组织中
                • Windows 上的第一行不应该是:set DART_VM_OPTIONS="--root-certs-file={path.to.certificate.file}"
                猜你喜欢
                • 2019-07-03
                • 2020-06-10
                • 2018-12-21
                • 2019-02-09
                • 1970-01-01
                • 1970-01-01
                • 2023-02-09
                • 2021-06-18
                • 1970-01-01
                相关资源
                最近更新 更多