terraform 解决冲突的提供者约束:没有可用的版本与给定的约束匹配

Posted

技术标签:

【中文标题】terraform 解决冲突的提供者约束:没有可用的版本与给定的约束匹配【英文标题】:terraform solve conflicting provider constraints : no available releases match the given constraints 【发布时间】:2022-01-11 11:12:47 【问题描述】:

您好,我正在计划一次 terraform 更新。我们正在使用一个由许多模块组成的复杂 terraform 项目。

我添加了一个 CloudSQL 数据库模块,它需要 hashicorp/null 版本 ~> 3.1.0,但我项目中的另一个模块似乎对 hashicorp/null 版本 ~> 2.1 有依赖约束。

导致以下错误:

Error: Failed to query available provider packages

Could not retrieve the list of available versions for provider hashicorp/null:
no available releases match the given constraints ~> 2.1, ~> 3.1.0

如何跟踪和更新此依赖约束?我不知道我的项目的哪个部分正在执行它?

【问题讨论】:

【参考方案1】:

terraform providers 和 terraform version 命令有助于输出模块和插件/提供程序的依赖层次结构,以及它们在层次结构中的各自版本。出于调试目的,从根模块配置执行此命令将是最有用的。

【讨论】:

非常感谢,我发现 grep -RiC2 '~> 2.1' 可以完成这项工作,但 terraform 提供程序绝对是我要找的!

以上是关于terraform 解决冲突的提供者约束:没有可用的版本与给定的约束匹配的主要内容,如果未能解决你的问题,请参考以下文章

Terraform:无法删除已弃用的 hashcorp/azure 提供程序

解决xib约束冲突

错误:无法查询可用的提供程序包;地形初始化

使用 Terraform 在可用性区域(单个区域)之间进行 Azure 恢复服务 VM 复制

swift 自定义view VFL 设置约束冲突

Azure 美国中北部区域中没有可用区