dart pub获得CERTIFICATE_VERIFY_FAILED

时间:2018-02-23 20:55:02

标签: dart dart-pub

我最近将项目从1.22.1升级到1.24.3。随后,pub get失败了

  

客户端中的握手错误(操作系统错误:       CERTIFICATE_VERIFY_FAILED:证书链中的自签名证书(ssl_cert.c:345))

  

客户端中的握手错误(操作系统错误:错误:1000007d:SSL例程:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED)

我发现有关获取此错误的类似线程,但这些线程中给出的解决方案似乎都没有解决问题。我运行pub --trace --verbosity都按照这些线程中的请求获取,输出here

Webstorm控制台的详细输出

    Working dir: C:\SGGDev\pearls\client
    C:\DevTools\dart-sdk-1-24-3\bin\pub.bat get
    Resolving dependencies...
    Downloading uuid 0.5.3...
    Downloading convert 2.0.1...
    Downloading charcode 1.1.1...
    Downloading crypto 2.0.2+1...
    Downloading collection 1.14.3...
    Downloading typed_data 1.1.5...
    Downloading xml 2.6.0...
    Downloading petitparser 1.6.1...
    Downloading matcher 0.12.1+2...
    Downloading stack_trace 1.8.0...
    Downloading path 1.4.2...
    Handshake error in client (OS Error: 
        CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate chain(ssl_cert.c:345))
    Process finished with exit code 1

在我删除appdata中的pub缓存之前,建议的解决方案,在第一个或第二个包之后几乎立即遇到相同的错误。

2 个答案:

答案 0 :(得分:3)

您使用的是Windows并使用卡巴斯基防病毒软件吗?我不知道所有的技术细节,但这种防病毒以某种方式影响握手。禁用它应该会有所帮助。

另一种解决方法是设置以下环境变量:

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

此问题也会在此处进行跟踪,但我认为这不是Dart SDK问题:https://github.com/dart-lang/sdk/issues/32131

答案 1 :(得分:0)

对我而言,错误是由我的防病毒引起的,我不得不禁用它以使Dart正常工作。