首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能查询可用的提供程序包版本2.56.0与配置的版本约束不匹配

未能查询可用的提供程序包版本2.56.0与配置的版本约束不匹配
EN

Stack Overflow用户
提问于 2022-05-17 02:16:07
回答 1查看 1.7K关注 0票数 1

我不知道如何解决这个错误,尝试了各种版本的组合,但无法做到这一点;

在我的模块中:

代码语言:javascript
复制
terraform {
  required_version = "~> 1.0"

  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 2.98.0".  #or 2.62.1 ,1.6.0 depending on the what resource the module is for 
    }
  }
}

在我的main.tf文件中:

代码语言:javascript
复制
terraform {
  required_version = "~> 1.0.1"

  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
    }
    azuread = {
      source  = "hashicorp/azuread"
    }
    external = {
      source = "hashicorp/external"
    }
    random = {
      source = "hashicorp/random"
    }
    sops = {
      source = "carlpett/sops"
    }
  }
}

在地形上的错误:

代码语言:javascript
复制
   ╷
    │ Error: Failed to query available provider packages
    │ 
    │ Could not retrieve the list of available versions for provider hashicorp/azurerm: locked provider registry.terraform.io/hashicorp/azurerm 2.56.0 does not match
    │ configured version constraint ~> 2.62.1, ~> 2.98.0; must use terraform init -upgrade to allow selection of new versions
    ╵

这是提供者的要求。

用户:$ terraform提供者

代码语言:javascript
复制
Providers required by configuration:
.
├── provider[registry.terraform.io/hashicorp/random]
├── provider[registry.terraform.io/carlpett/sops] 0.6.3
├── provider[registry.terraform.io/hashicorp/azurerm]
├── provider[registry.terraform.io/hashicorp/azuread] ~> 1.6.0
├── provider[registry.terraform.io/hashicorp/external]
├── module.azurerm_storagecontainer_container1
│   └── provider[registry.terraform.io/hashicorp/azurerm] ~> 2.98.0
├── module.azurerm_servicebusqueue_bus1
│   └── provider[registry.terraform.io/hashicorp/azurerm] ~> 2.62.1
├── module.azurerm_storageaccount
│   ├── provider[registry.terraform.io/hashicorp/random]
│   └── provider[registry.terraform.io/hashicorp/azurerm] ~> 2.98.0
├── module.azurerm_key_vault
│   ├── provider[registry.terraform.io/hashicorp/azurerm] ~> 2.98.0
│   └── provider[registry.terraform.io/hashicorp/azuread]
├── module.resourcegroup
│   └── provider[registry.terraform.io/hashicorp/azurerm] ~> 2.98.0

国家要求的提供者:

代码语言:javascript
复制
provider[registry.terraform.io/hashicorp/azuread]

provider[registry.terraform.io/hashicorp/azurerm]

provider[registry.terraform.io/hashicorp/random]

provider[registry.terraform.io/carlpett/sops]
EN

回答 1

Stack Overflow用户

发布于 2022-05-18 15:49:11

因此,问题之一是模块依赖"servicebus“仍在使用较早版本的azurerm,这导致了这一失败。所以我把它更新到了2.98.0,这让我开始工作了。更早的时候,我认为不同的模块可以有不同的azurerm版本,但这种假设是错误的。在tf使用者中,请确保所有模块依赖项都使用相同的提供版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72267480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档