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

Terraform Snowflake Provider切换报错:不兼容的提供商版本

解决方案
  • 清理CodeBuild环境缓存
    CodeBuild默认可能缓存.terraform目录和提供商数据,先在构建脚本开头添加清理命令:

    rm -rf .terraform/ .terraform.lock.hcl
    

    同时检查CodeBuild项目的缓存配置,如果启用了S3缓存,先清空对应缓存目录,或者临时禁用缓存验证问题。

  • 刷新并提交提供商锁定文件
    本地执行terraform init -upgrade,生成只包含Snowflake-Labs/snowflake的.terraform.lock.hcl文件,把这个文件提交到代码仓库。CodeBuild会依赖这个锁定文件拉取提供商,旧锁定文件可能残留了chanzuckerberg的条目。

  • 排查模块依赖
    如果项目使用了第三方Terraform模块,检查这些模块的required_providers配置,确认它们没有引用旧的chanzuckerberg/snowflake。可以用本地命令排查所有依赖提供商:

    terraform providers
    

    若模块存在问题,要么升级模块到兼容新版本的版本,要么在根模块的required_providers中强制覆盖配置:

    terraform {
      required_providers {
        snowflake = {
          source  = "Snowflake-Labs/snowflake"
          version = "0.61.0"
        }
      }
    }
    
  • 对齐Terraform版本
    确保CodeBuild使用的Terraform版本和本地一致,旧版本Terraform可能对提供商切换处理存在兼容问题。可以在构建步骤中指定安装特定版本:

    wget https://releases.hashicorp.com/terraform/1.6.0/terraform_1.6.0_linux_amd64.zip
    unzip terraform_1.6.0_linux_amd64.zip
    sudo mv terraform /usr/local/bin/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:12:39