我最近将项目从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缓存之前,建议的解决方案,在第一个或第二个包之后几乎立即遇到相同的错误。
答案 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正常工作。