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

升级Terraform至1.x弃用terraform-bundle,如何本地存同一Provider多版本?

解决Terraform 1.x本地存储同一Provider多版本的问题

由于terraform providers mirror默认只会拉取满足当前配置版本约束的单一版本,要在不使用terraform-bundle的前提下存储同一Provider的多个版本,可通过多次定向拉取并合并到同一本地目录的方式实现,以下是两种可行方案:

方案一:多次使用terraform providers mirror合并版本

这种方式直接利用镜像命令的输出特性,多次拉取不同版本到同一目录,新版本会被追加存储:

  1. 创建本地镜像目录
mkdir -p ./local-provider-mirror
  1. 创建临时配置文件指定第一个版本(比如tf-aws-3.75.0.tf)
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "3.75.0"
    }
  }
}
  1. 执行镜像命令拉取该版本到本地目录
terraform providers mirror -config=tf-aws-3.75.0.tf ./local-provider-mirror
  1. 创建另一临时配置文件指定第二个版本(tf-aws-3.75.2.tf)
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "3.75.2"
    }
  }
}
  1. 再次执行镜像命令,将新版本追加到同一目录
terraform providers mirror -config=tf-aws-3.75.2.tf ./local-provider-mirror

完成后,./local-provider-mirror目录下会同时存在两个版本的AWS Provider。

方案二:利用插件缓存目录收集多版本

通过指定插件缓存目录,多次初始化不同版本的临时配置,让Terraform自动将不同版本的Provider缓存到同一目录:

  1. 设置插件缓存目录(可自定义路径)
export TF_PLUGIN_CACHE_DIR=./local-plugin-cache
  1. 创建临时目录拉取第一个版本
mkdir temp-aws-3.75.0 && cd temp-aws-3.75.0
cat > main.tf << EOF
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "3.75.0"
    }
  }
}
EOF
terraform init
cd .. && rm -rf temp-aws-3.75.0
  1. 重复步骤2拉取第二个版本
mkdir temp-aws-3.75.2 && cd temp-aws-3.75.2
cat > main.tf << EOF
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "3.75.2"
    }
  }
}
EOF
terraform init
cd .. && rm -rf temp-aws-3.75.2

此时./local-plugin-cache目录已存储两个版本的Provider,后续可将其作为本地镜像源使用。

配置主项目使用本地镜像

在主项目的Terraform配置中,添加provider_installation块指定本地镜像源,确保Terraform优先从本地查找对应版本:

terraform {
  provider_installation {
    filesystem_mirror {
      path    = "./local-provider-mirror" # 或方案二中的./local-plugin-cache
      include = ["hashicorp/aws"]
    }
    direct {
      exclude = ["hashicorp/aws"]
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:01:06