You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio中执行dvc push到GCP存储桶时证书验证失败求助

解决DVC Push到GCP存储桶的证书验证失败问题

以下是针对该问题的排查和解决步骤:

  • 检查终端环境证书一致性
    先在系统默认终端(Windows CMD/PowerShell、Linux/macOS原生终端)执行dvc push,如果系统终端可正常推送,说明VS集成终端的证书环境存在问题:

    • Windows下更新系统根证书:打开CMD执行certutil -generateSSTFromWU roots.sst,将生成的roots.sst文件导入系统证书存储(双击文件按提示操作)。
    • 重启VS,确保终端继承系统证书配置。
  • 临时跳过证书验证(仅限测试环境)
    可信环境下可临时禁用证书验证测试:

    # Linux/macOS
    GIT_SSL_NO_VERIFY=true dvc push
    
    # Windows PowerShell
    $env:GIT_SSL_NO_VERIFY = "true"; dvc push
    

    也可在DVC配置文件(.dvc/config)添加全局设置(不推荐生产环境):

    [core]
        ssl_verify = false
    
  • 切换到服务账号密钥认证
    尽管执行了gcloud auth命令,DVC可能无法正确读取gcloud应用默认凭据,尝试使用服务账号密钥:

    1. 在GCP控制台创建服务账号,授予存储桶Storage Object Admin权限。
    2. 下载该账号的JSON密钥文件。
    3. 在VS终端设置环境变量:
      # Linux/macOS
      export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your-service-account-key.json"
      
      # Windows PowerShell
      $env:GOOGLE_APPLICATION_CREDENTIALS = "C:\path\to\your-service-account-key.json"
      
    4. 再次执行dvc push。
  • 验证VS终端环境变量
    在VS终端执行以下命令,确认认证相关环境变量是否正确加载:

    # Linux/macOS
    echo $GOOGLE_APPLICATION_CREDENTIALS
    echo $SSL_CERT_FILE
    
    # Windows PowerShell
    echo $env:GOOGLE_APPLICATION_CREDENTIALS
    echo $env:SSL_CERT_FILE
    

    若变量为空,手动设置后重启VS终端重试。

  • 更新DVC及GCP依赖
    旧版本DVC的GCP适配器可能存在证书处理bug,执行命令更新到最新版本:

    pip install --upgrade dvc[gs]
    

内容的提问来源于stack exchange,提问作者MLB9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 10:10:34