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

Terraform init报错:尝试安装不存在的hashicorp/azuredevops Provider

Terraform初始化时hashicorp/azuredevops Provider不存在问题解决

问题场景

使用关联Azure的Terraform模块时,执行terraform init触发报错:系统尝试安装不存在的hashicorp/azuredevops Provider,该Provider实际由微软维护,对应官方标识为microsoft/azuredevops。通过terraform providers命令排查,确认是wif_devops模块(代码存储于Azure Repo)依赖该Provider。已在根模块添加明确指定microsoft/azuredevops的provider块,但问题仍未解决。

完整错误信息

Initializing the backend...
Initializing modules...

Initializing provider plugins...

  • Finding hashicorp/azuread versions matching "2.53.1"...
  • Finding hashicorp/random versions matching "3.6.2"...
  • Finding microsoft/azuredevops versions matching "1.2.0"...
  • Finding latest version of hashicorp/azuredevops...
  • Finding hashicorp/azurerm versions matching "3.113.0"...
  • Installing hashicorp/azuread v2.53.1...
  • Installed hashicorp/azuread v2.53.1 (signed by HashiCorp)
  • Installing hashicorp/random v3.6.2...
  • Installed hashicorp/random v3.6.2 (signed by HashiCorp)
  • Installing microsoft/azuredevops v1.2.0...
  • Installed microsoft/azuredevops v1.2.0 (signed by a HashiCorp partner, key ID 6F0B91BDE98478CF)
  • Installing hashicorp/azurerm v3.113.0...
  • Installed hashicorp/azurerm v3.113.0 (signed by HashiCorp)

Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/azuredevops: provider registry registry.terraform.io does not have a provider named
│ registry.terraform.io/hashicorp/azuredevops
│
│ Did you intend to use microsoft/azuredevops? If so, you must specify that source address in each module which requires that provider. To see which modules are
│ currently depending on hashicorp/azuredevops, run the following command:
│ terraform providers

解决步骤

  1. 根模块配置Provider全局映射
    在根模块的terraform块中添加required_providers,将hashicorp/azuredevops的请求映射到microsoft/azuredevops,强制所有子模块使用正确的Provider源:

    terraform {
      required_providers {
        azuredevops = {
          source  = "microsoft/azuredevops"
          version = "1.2.0" # 匹配你的版本需求
        }
        # 保留其他必填Provider的配置
      }
    }
    
    provider "azuredevops" {
      # 填入你的Azure DevOps配置参数,如org_service_url等
    }
    
  2. 修正子模块的Provider依赖
    若wif_devops模块内部显式指定了hashicorp/azuredevops,需修改该模块的terraform块,将Provider源改为microsoft/azuredevops:

    # wif_devops模块内的terraform配置块
    terraform {
      required_providers {
        azuredevops = {
          source  = "microsoft/azuredevops"
          version = "1.2.0"
        }
      }
    }
    
  3. 清理缓存并重新初始化
    执行以下命令清除旧缓存,重新加载配置:

    rm -rf .terraform .terraform.lock.hcl
    terraform init
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:46:05